/* * Module code. * * Generated by SIP 4.19.16 * * Copyright: (c) 2018 by Total Control Software * License: wxWindows License */ #include "sipAPI_adv.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* Define the strings used by this module. */ const char sipStrings__adv[] = { 'w', 'x', 'O', 'w', 'n', 'e', 'r', 'D', 'r', 'a', 'w', 'n', 'C', 'o', 'm', 'b', 'o', 'B', 'o', 'x', 'P', 'a', 'i', 'n', 't', 'i', 'n', 'g', 'F', 'l', 'a', 'g', 's', 0, 'w', 'x', 'E', 'V', 'T', '_', 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'B', 'E', 'F', 'O', 'R', 'E', '_', 'P', 'A', 'G', 'E', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'G', 'e', 't', 'M', 'a', 'i', 'n', 'W', 'i', 'n', 'd', 'o', 'w', 'O', 'f', 'C', 'o', 'm', 'p', 'o', 's', 'i', 't', 'e', 'C', 'o', 'n', 't', 'r', 'o', 'l', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', '_', 'W', 'E', 'E', 'K', 'D', 'A', 'Y', '_', 'C', 'L', 'I', 'C', 'K', 'E', 'D', 0, 'C', 'A', 'L', '_', 'S', 'E', 'Q', 'U', 'E', 'N', 'T', 'I', 'A', 'L', '_', 'M', 'O', 'N', 'T', 'H', '_', 'S', 'E', 'L', 'E', 'C', 'T', 'I', 'O', 'N', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'B', 'A', 'L', 'L', 'O', 'O', 'N', '_', 'T', 'I', 'M', 'E', 'O', 'U', 'T', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', '_', 'M', 'O', 'N', 'T', 'H', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', '_', 'D', 'O', 'U', 'B', 'L', 'E', 'C', 'L', 'I', 'C', 'K', 'E', 'D', 0, 'C', 'A', 'L', '_', 'H', 'I', 'T', 'T', 'E', 'S', 'T', '_', 'S', 'U', 'R', 'R', 'O', 'U', 'N', 'D', 'I', 'N', 'G', '_', 'W', 'E', 'E', 'K', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'B', 'A', 'L', 'L', 'O', 'O', 'N', '_', 'C', 'L', 'I', 'C', 'K', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', '_', 'Y', 'E', 'A', 'R', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', '_', 'W', 'E', 'E', 'K', '_', 'C', 'L', 'I', 'C', 'K', 'E', 'D', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', '_', 'P', 'A', 'G', 'E', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'w', 'x', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'y', 'S', 'h', 'e', 'e', 't', 'D', 'i', 'a', 'l', 'o', 'g', 'F', 'l', 'a', 'g', 's', 0, 'w', 'x', 'E', 'V', 'T', '_', 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'P', 'A', 'G', 'E', '_', 'C', 'H', 'A', 'N', 'G', 'I', 'N', 'G', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'R', 'I', 'G', 'H', 'T', '_', 'D', 'C', 'L', 'I', 'C', 'K', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', '_', 'D', 'A', 'Y', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'E', 'N', 'D', 'A', 'R', '_', 'S', 'E', 'L', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'C', 'A', 'L', '_', 'S', 'H', 'O', 'W', '_', 'S', 'U', 'R', 'R', 'O', 'U', 'N', 'D', 'I', 'N', 'G', '_', 'W', 'E', 'E', 'K', 'S', 0, 'G', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'B', 'o', 'r', 'd', 'e', 'r', 'F', 'o', 'r', 'C', 'o', 'n', 't', 'r', 'o', 'l', 0, 'S', 'e', 't', 'B', 'i', 't', 'm', 'a', 'p', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'G', 'e', 't', 'B', 'i', 't', 'm', 'a', 'p', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'w', 'x', 'E', 'V', 'T', '_', 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'P', 'A', 'G', 'E', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'L', 'E', 'F', 'T', '_', 'D', 'C', 'L', 'I', 'C', 'K', 0, 'G', 'e', 't', 'C', 'l', 'a', 's', 's', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'A', 't', 't', 'r', 'i', 'b', 'u', 't', 'e', 's', 0, 'P', 'R', 'O', 'P', 'S', 'H', 'E', 'E', 'T', '_', 'B', 'U', 'T', 'T', 'O', 'N', 'T', 'O', 'O', 'L', 'B', 'O', 'O', 'K', 0, 'S', 'A', 'S', 'H', '_', 'S', 'T', 'A', 'T', 'U', 'S', '_', 'O', 'U', 'T', '_', 'O', 'F', '_', 'R', 'A', 'N', 'G', 'E', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'R', 'I', 'G', 'H', 'T', '_', 'D', 'O', 'W', 'N', 0, 'H', 'a', 's', 'T', 'r', 'a', 'n', 's', 'p', 'a', 'r', 'e', 'n', 't', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 0, 'A', 'c', 'c', 'e', 'p', 't', 's', 'F', 'o', 'c', 'u', 's', 'F', 'r', 'o', 'm', 'K', 'e', 'y', 'b', 'o', 'a', 'r', 'd', 0, 'w', 'x', 'E', 'V', 'T', '_', 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'P', 'A', 'G', 'E', '_', 'S', 'H', 'O', 'W', 'N', 0, 'w', 'x', 'E', 'V', 'T', '_', 'Q', 'U', 'E', 'R', 'Y', '_', 'L', 'A', 'Y', 'O', 'U', 'T', '_', 'I', 'N', 'F', 'O', 0, 'S', 'P', 'L', 'A', 'S', 'H', '_', 'C', 'E', 'N', 'T', 'R', 'E', '_', 'O', 'N', '_', 'S', 'C', 'R', 'E', 'E', 'N', 0, 'S', 'P', 'L', 'A', 'S', 'H', '_', 'C', 'E', 'N', 'T', 'R', 'E', '_', 'O', 'N', '_', 'P', 'A', 'R', 'E', 'N', 'T', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'L', 'E', 'F', 'T', '_', 'D', 'O', 'W', 'N', 0, 'w', 'x', 'C', 'a', 'l', 'e', 'n', 'd', 'a', 'r', 'H', 'i', 't', 'T', 'e', 's', 't', 'R', 'e', 's', 'u', 'l', 't', 0, 'w', 'x', 'D', 'a', 't', 'e', 'P', 'i', 'c', 'k', 'e', 'r', 'C', 't', 'r', 'l', 'G', 'e', 'n', 'e', 'r', 'i', 'c', 0, 'A', 'c', 'c', 'e', 'p', 't', 's', 'F', 'o', 'c', 'u', 's', 'R', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', 'l', 'y', 0, 'O', 'D', 'C', 'B', '_', 'S', 'T', 'D', '_', 'C', 'O', 'N', 'T', 'R', 'O', 'L', '_', 'P', 'A', 'I', 'N', 'T', 0, 'O', 'D', 'C', 'B', '_', 'P', 'A', 'I', 'N', 'T', 'I', 'N', 'G', '_', 'S', 'E', 'L', 'E', 'C', 'T', 'E', 'D', 0, 'w', 'x', 'C', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', 'L', 'a', 'y', 'o', 'u', 't', 'E', 'v', 'e', 'n', 't', 0, 'w', 'x', 'Q', 'u', 'e', 'r', 'y', 'L', 'a', 'y', 'o', 'u', 't', 'I', 'n', 'f', 'o', 'E', 'v', 'e', 'n', 't', 0, 'w', 'x', 'E', 'V', 'T', '_', 'C', 'A', 'L', 'C', 'U', 'L', 'A', 'T', 'E', '_', 'L', 'A', 'Y', 'O', 'U', 'T', 0, 'E', 'd', 'i', 't', 'a', 'b', 'l', 'e', 'L', 'i', 's', 't', 'B', 'o', 'x', 'N', 'a', 'm', 'e', 'S', 't', 'r', 0, 'A', 'N', 'I', 'M', 'A', 'T', 'I', 'O', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'I', 'N', 'V', 'A', 'L', 'I', 'D', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'R', 'I', 'G', 'H', 'T', '_', 'U', 'P', 0, 'T', 'r', 'a', 'n', 's', 'f', 'e', 'r', 'D', 'a', 't', 'a', 'F', 'r', 'o', 'm', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'w', 'x', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'y', 'S', 'h', 'e', 'e', 't', 'D', 'i', 'a', 'l', 'o', 'g', 0, 'P', 'R', 'O', 'P', 'S', 'H', 'E', 'E', 'T', '_', 'S', 'H', 'R', 'I', 'N', 'K', 'T', 'O', 'F', 'I', 'T', 0, 'S', 'e', 't', 'M', 'i', 'n', 'i', 'm', 'u', 'm', 'B', 'i', 't', 'm', 'a', 'p', 'W', 'i', 'd', 't', 'h', 0, 'G', 'e', 't', 'M', 'i', 'n', 'i', 'm', 'u', 'm', 'B', 'i', 't', 'm', 'a', 'p', 'W', 'i', 'd', 't', 'h', 0, 'w', 'x', 'E', 'V', 'T', '_', 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'F', 'I', 'N', 'I', 'S', 'H', 'E', 'D', 0, 'B', 'i', 't', 'm', 'a', 'p', 'C', 'o', 'm', 'b', 'o', 'B', 'o', 'x', 'N', 'a', 'm', 'e', 'S', 't', 'r', 0, 'O', 'D', 'C', 'B', '_', 'P', 'A', 'I', 'N', 'T', 'I', 'N', 'G', '_', 'C', 'O', 'N', 'T', 'R', 'O', 'L', 0, 'w', 'x', 'N', 'o', 't', 'i', 'f', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'M', 'e', 's', 's', 'a', 'g', 'e', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'L', 'E', 'F', 'T', '_', 'U', 'P', 0, 'T', 'B', 'I', '_', 'C', 'U', 'S', 'T', 'O', 'M', '_', 'S', 'T', 'A', 'T', 'U', 'S', 'I', 'T', 'E', 'M', 0, 'C', 'r', 'e', 'a', 't', 'e', 'F', 'i', 'l', 'e', 'T', 'i', 'p', 'P', 'r', 'o', 'v', 'i', 'd', 'e', 'r', 0, 'w', 'x', 'G', 'e', 'n', 'e', 'r', 'i', 'c', 'C', 'a', 'l', 'e', 'n', 'd', 'a', 'r', 'C', 't', 'r', 'l', 0, 'C', 'A', 'L', '_', 'S', 'H', 'O', 'W', '_', 'W', 'E', 'E', 'K', '_', 'N', 'U', 'M', 'B', 'E', 'R', 'S', 0, 'G', 'e', 'n', 'e', 'r', 'i', 'c', 'D', 'a', 't', 'e', 'P', 'i', 'c', 'k', 'e', 'r', 'C', 't', 'r', 'l', 0, 'G', 'e', 't', 'W', 'e', 'b', 'S', 'i', 't', 'e', 'D', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 0, 'P', 'R', 'O', 'P', 'S', 'H', 'E', 'E', 'T', '_', 'C', 'H', 'O', 'I', 'C', 'E', 'B', 'O', 'O', 'K', 0, 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'H', 'A', 'L', 'I', 'G', 'N', '_', 'C', 'E', 'N', 'T', 'R', 'E', 0, 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'V', 'A', 'L', 'I', 'G', 'N', '_', 'B', 'O', 'T', 'T', 'O', 'M', 0, 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'V', 'A', 'L', 'I', 'G', 'N', '_', 'C', 'E', 'N', 'T', 'R', 'E', 0, 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'E', 'X', '_', 'H', 'E', 'L', 'P', 'B', 'U', 'T', 'T', 'O', 'N', 0, 'w', 'x', 'O', 'w', 'n', 'e', 'r', 'D', 'r', 'a', 'w', 'n', 'C', 'o', 'm', 'b', 'o', 'B', 'o', 'x', 0, 'G', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'B', 'o', 'r', 'd', 'e', 'r', 'S', 'i', 'z', 'e', 0, 'S', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'B', 'o', 'r', 'd', 'e', 'r', 'S', 'i', 'z', 'e', 0, 'A', 'n', 'i', 'm', 'a', 't', 'i', 'o', 'n', 'C', 't', 'r', 'l', 'N', 'a', 'm', 'e', 'S', 't', 'r', 0, 'S', 'e', 't', 'M', 'o', 'v', 'e', 'm', 'e', 'n', 't', 'T', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', 0, 'G', 'e', 't', 'M', 'o', 'v', 'e', 'm', 'e', 'n', 't', 'T', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', 0, 'H', 'y', 'p', 'e', 'r', 'l', 'i', 'n', 'k', 'C', 't', 'r', 'l', 'N', 'a', 'm', 'e', 'S', 't', 'r', 0, 'G', 'e', 't', 'H', 'i', 'g', 'h', 'l', 'i', 'g', 'h', 't', 'C', 'o', 'l', 'o', 'u', 'r', 'F', 'g', 0, 'G', 'e', 't', 'H', 'i', 'g', 'h', 'l', 'i', 'g', 'h', 't', 'C', 'o', 'l', 'o', 'u', 'r', 'B', 'g', 0, 'E', 'n', 'a', 'b', 'l', 'e', 'H', 'o', 'l', 'i', 'd', 'a', 'y', 'D', 'i', 's', 'p', 'l', 'a', 'y', 0, 'C', 'A', 'L', '_', 'H', 'I', 'T', 'T', 'E', 'S', 'T', '_', 'D', 'E', 'C', 'M', 'O', 'N', 'T', 'H', 0, 'C', 'A', 'L', '_', 'H', 'I', 'T', 'T', 'E', 'S', 'T', '_', 'I', 'N', 'C', 'M', 'O', 'N', 'T', 'H', 0, 'w', 'x', 'C', 'a', 'l', 'e', 'n', 'd', 'a', 'r', 'D', 'a', 't', 'e', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'S', 'h', 'o', 'u', 'l', 'd', 'P', 'r', 'e', 'v', 'e', 'n', 't', 'A', 'p', 'p', 'E', 'x', 'i', 't', 0, 'T', 'r', 'a', 'n', 's', 'f', 'e', 'r', 'D', 'a', 't', 'a', 'T', 'o', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'S', 'h', 'o', 'u', 'l', 'd', 'I', 'n', 'h', 'e', 'r', 'i', 't', 'C', 'o', 'l', 'o', 'u', 'r', 's', 0, 'I', 'n', 'f', 'o', 'r', 'm', 'F', 'i', 'r', 's', 't', 'D', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', 0, 'D', 'r', 'a', 'w', 'R', 'o', 'u', 'n', 'd', 'e', 'd', 'R', 'e', 'c', 't', 'a', 'n', 'g', 'l', 'e', 0, 'G', 'e', 't', 'S', 'h', 'e', 'e', 't', 'I', 'n', 'n', 'e', 'r', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'S', 'e', 't', 'S', 'h', 'e', 'e', 't', 'I', 'n', 'n', 'e', 'r', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'G', 'e', 't', 'S', 'h', 'e', 'e', 't', 'O', 'u', 't', 'e', 'r', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'S', 'e', 't', 'S', 'h', 'e', 'e', 't', 'O', 'u', 't', 'e', 'r', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'w', 'x', 'E', 'V', 'T', '_', 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'C', 'A', 'N', 'C', 'E', 'L', 0, 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'H', 'A', 'L', 'I', 'G', 'N', '_', 'R', 'I', 'G', 'H', 'T', 0, 'm', 'i', 'l', 'l', 'i', 's', 'e', 'c', 'o', 'n', 'd', 's', 'T', 'i', 'm', 'e', 'o', 'u', 't', 0, 'T', 'i', 'p', 'K', 'i', 'n', 'd', '_', 'B', 'o', 't', 't', 'o', 'm', 'R', 'i', 'g', 'h', 't', 0, 'w', 'x', 'L', 'a', 'y', 'o', 'u', 't', 'O', 'r', 'i', 'e', 'n', 't', 'a', 't', 'i', 'o', 'n', 0, 'B', 'a', 'n', 'n', 'e', 'r', 'W', 'i', 'n', 'd', 'o', 'w', 'N', 'a', 'm', 'e', 'S', 't', 'r', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'C', 'L', 'I', 'C', 'K', 0, 'S', 'e', 't', 'H', 'i', 'g', 'h', 'l', 'i', 'g', 'h', 't', 'C', 'o', 'l', 'o', 'u', 'r', 's', 0, 'C', 'A', 'L', '_', 'H', 'I', 'T', 'T', 'E', 'S', 'T', '_', 'N', 'O', 'W', 'H', 'E', 'R', 'E', 0, 'C', 'A', 'L', '_', 'N', 'O', '_', 'M', 'O', 'N', 'T', 'H', '_', 'C', 'H', 'A', 'N', 'G', 'E', 0, 'S', 'e', 't', 'M', 'a', 'i', 'n', 'L', 'a', 'b', 'e', 'l', 'A', 'n', 'd', 'N', 'o', 't', 'e', 0, 'w', 'x', 'C', 'o', 'm', 'm', 'a', 'n', 'd', 'L', 'i', 'n', 'k', 'B', 'u', 't', 't', 'o', 'n', 0, 'w', 'x', 'E', 'x', 't', 'H', 'e', 'l', 'p', 'C', 'o', 'n', 't', 'r', 'o', 'l', 'l', 'e', 'r', 0, 'D', 'i', 's', 'p', 'l', 'a', 'y', 'C', 'o', 'n', 't', 'e', 'x', 't', 'P', 'o', 'p', 'u', 'p', 0, 'H', 'a', 's', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'D', 'o', 'G', 'e', 't', 'B', 'e', 's', 't', 'C', 'l', 'i', 'e', 'n', 't', 'S', 'i', 'z', 'e', 0, 'S', 'e', 't', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'G', 'e', 't', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'G', 'e', 't', 'C', 'l', 'i', 'e', 'n', 't', 'A', 'r', 'e', 'a', 'O', 'r', 'i', 'g', 'i', 'n', 0, 'P', 'R', 'O', 'P', 'S', 'H', 'E', 'E', 'T', '_', 'T', 'R', 'E', 'E', 'B', 'O', 'O', 'K', 0, 'P', 'R', 'O', 'P', 'S', 'H', 'E', 'E', 'T', '_', 'L', 'I', 'S', 'T', 'B', 'O', 'O', 'K', 0, 'P', 'R', 'O', 'P', 'S', 'H', 'E', 'E', 'T', '_', 'T', 'O', 'O', 'L', 'B', 'O', 'O', 'K', 0, 'P', 'R', 'O', 'P', 'S', 'H', 'E', 'E', 'T', '_', 'N', 'O', 'T', 'E', 'B', 'O', 'O', 'K', 0, 'D', 'r', 'a', 'w', 'T', 'o', 'D', 'C', 'C', 'l', 'i', 'p', 'p', 'e', 'd', 'R', 'g', 'n', 0, 'S', 'e', 't', 'B', 'i', 't', 'm', 'a', 'p', 'P', 'l', 'a', 'c', 'e', 'm', 'e', 'n', 't', 0, 'G', 'e', 't', 'B', 'i', 't', 'm', 'a', 'p', 'P', 'l', 'a', 'c', 'e', 'm', 'e', 'n', 't', 0, 'w', 'x', 'W', 'i', 'z', 'a', 'r', 'd', 'P', 'a', 'g', 'e', 'S', 'i', 'm', 'p', 'l', 'e', 0, 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'H', 'A', 'L', 'I', 'G', 'N', '_', 'L', 'E', 'F', 'T', 0, 'T', 'i', 'p', 'K', 'i', 'n', 'd', '_', 'B', 'o', 't', 't', 'o', 'm', 'L', 'e', 'f', 't', 0, 'O', 'n', 'M', 'e', 'a', 's', 'u', 'r', 'e', 'I', 't', 'e', 'm', 'W', 'i', 'd', 't', 'h', 0, 'G', 'e', 't', 'W', 'i', 'd', 'e', 's', 't', 'I', 't', 'e', 'm', 'W', 'i', 'd', 't', 'h', 0, 'O', 'D', 'C', 'B', '_', 'D', 'C', 'L', 'I', 'C', 'K', '_', 'C', 'Y', 'C', 'L', 'E', 'S', 0, 'S', 'e', 't', 'R', 'e', 'q', 'u', 'e', 's', 't', 'e', 'd', 'L', 'e', 'n', 'g', 't', 'h', 0, 'G', 'e', 't', 'R', 'e', 'q', 'u', 'e', 's', 't', 'e', 'd', 'L', 'e', 'n', 'g', 't', 'h', 0, 'w', 'x', 'S', 'a', 's', 'h', 'L', 'a', 'y', 'o', 'u', 't', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'G', 'e', 't', 'E', 'x', 't', 'r', 'a', 'B', 'o', 'r', 'd', 'e', 'r', 'S', 'i', 'z', 'e', 0, 'S', 'e', 't', 'E', 'x', 't', 'r', 'a', 'B', 'o', 'r', 'd', 'e', 'r', 'S', 'i', 'z', 'e', 0, 'w', 'x', 'E', 'V', 'T', '_', 'S', 'A', 'S', 'H', '_', 'D', 'R', 'A', 'G', 'G', 'E', 'D', 0, 'w', 'x', 'S', 'a', 's', 'h', 'E', 'd', 'g', 'e', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0, 'A', 'N', 'I', 'M', 'A', 'T', 'I', 'O', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'A', 'N', 'Y', 0, 'A', 'N', 'I', 'M', 'A', 'T', 'I', 'O', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'A', 'N', 'I', 0, 'A', 'N', 'I', 'M', 'A', 'T', 'I', 'O', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'G', 'I', 'F', 0, 'G', 'e', 't', 'N', 'u', 'm', 'b', 'e', 'r', 'J', 'o', 'y', 's', 't', 'i', 'c', 'k', 's', 0, 'w', 'x', 'T', 'a', 's', 'k', 'B', 'a', 'r', 'I', 'c', 'o', 'n', 'E', 'v', 'e', 'n', 't', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'A', 'S', 'K', 'B', 'A', 'R', '_', 'M', 'O', 'V', 'E', 0, 'G', 'e', 't', 'H', 'o', 'l', 'i', 'd', 'a', 'y', 'C', 'o', 'l', 'o', 'u', 'r', 'F', 'g', 0, 'G', 'e', 't', 'H', 'o', 'l', 'i', 'd', 'a', 'y', 'C', 'o', 'l', 'o', 'u', 'r', 'B', 'g', 0, 'w', 'x', 'C', 'a', 'l', 'e', 'n', 'd', 'a', 'r', 'D', 'a', 't', 'e', 'A', 't', 't', 'r', 0, 'C', 'A', 'L', '_', 'H', 'I', 'T', 'T', 'E', 'S', 'T', '_', 'H', 'E', 'A', 'D', 'E', 'R', 0, 'C', 'A', 'L', '_', 'N', 'O', '_', 'Y', 'E', 'A', 'R', '_', 'C', 'H', 'A', 'N', 'G', 'E', 0, 'w', 'x', 'E', 'V', 'T', '_', 'T', 'I', 'M', 'E', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'w', 'x', 'E', 'V', 'T', '_', 'D', 'A', 'T', 'E', '_', 'C', 'H', 'A', 'N', 'G', 'E', 'D', 0, 'S', 'e', 't', 'F', 'r', 'a', 'm', 'e', 'P', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 's', 0, 'G', 'e', 't', 'F', 'r', 'a', 'm', 'e', 'P', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 's', 0, 'G', 'e', 't', 'S', 't', 'r', 'i', 'n', 'g', 'S', 'e', 'l', 'e', 'c', 't', 'i', 'o', 'n', 0, 'D', 'o', 'S', 'e', 't', 'W', 'i', 'n', 'd', 'o', 'w', 'V', 'a', 'r', 'i', 'a', 'n', 't', 0, 'S', 'e', 't', 'L', 'o', 'g', 'i', 'c', 'a', 'l', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 0, 'P', 'R', 'O', 'P', 'S', 'H', 'E', 'E', 'T', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 0, 'F', 'i', 'n', 'd', 'O', 'b', 'j', 'e', 'c', 't', 's', 'B', 'y', 'B', 'B', 'o', 'x', 0, 'w', 'x', 'E', 'V', 'T', '_', 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'H', 'E', 'L', 'P', 0, 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'V', 'A', 'L', 'I', 'G', 'N', '_', 'T', 'O', 'P', 0, 'm', 'i', 'l', 'l', 'i', 's', 'e', 'c', 'o', 'n', 'd', 's', 'D', 'e', 'l', 'a', 'y', 0, 'O', 'n', 'Q', 'u', 'e', 'r', 'y', 'L', 'a', 'y', 'o', 'u', 't', 'I', 'n', 'f', 'o', 0, 'O', 'n', 'C', 'a', 'l', 'c', 'u', 'l', 'a', 't', 'e', 'L', 'a', 'y', 'o', 'u', 't', 0, 'w', 'x', 'L', 'a', 'y', 'o', 'u', 't', 'A', 'l', 'g', 'o', 'r', 'i', 't', 'h', 'm', 0, 'w', 'x', 'L', 'a', 'y', 'o', 'u', 't', 'A', 'l', 'i', 'g', 'n', 'm', 'e', 'n', 't', 0, 'L', 'A', 'Y', 'O', 'U', 'T', '_', 'H', 'O', 'R', 'I', 'Z', 'O', 'N', 'T', 'A', 'L', 0, 'S', 'P', 'L', 'A', 'S', 'H', '_', 'N', 'O', '_', 'T', 'I', 'M', 'E', 'O', 'U', 'T', 0, 'w', 'x', 'E', 'd', 'i', 't', 'a', 'b', 'l', 'e', 'L', 'i', 's', 't', 'B', 'o', 'x', 0, 'S', 'e', 't', 'I', 'n', 'a', 'c', 't', 'i', 'v', 'e', 'B', 'i', 't', 'm', 'a', 'p', 0, 'G', 'e', 't', 'I', 'n', 'a', 'c', 't', 'i', 'v', 'e', 'B', 'i', 't', 'm', 'a', 'p', 0, 'G', 'e', 't', 'R', 'u', 'd', 'd', 'e', 'r', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'P', 'O', 'V', 'C', 'T', 'S', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'M', 'a', 'n', 'u', 'f', 'a', 'c', 't', 'u', 'r', 'e', 'r', 'I', 'd', 0, 'w', 'x', 'T', 'a', 's', 'k', 'B', 'a', 'r', 'I', 'c', 'o', 'n', 'T', 'y', 'p', 'e', 0, 'S', 'e', 't', 'H', 'o', 'l', 'i', 'd', 'a', 'y', 'C', 'o', 'l', 'o', 'u', 'r', 's', 0, 'G', 'e', 't', 'H', 'e', 'a', 'd', 'e', 'r', 'C', 'o', 'l', 'o', 'u', 'r', 'F', 'g', 0, 'G', 'e', 't', 'H', 'e', 'a', 'd', 'e', 'r', 'C', 'o', 'l', 'o', 'u', 'r', 'B', 'g', 0, 'E', 'n', 'a', 'b', 'l', 'e', 'M', 'o', 'n', 't', 'h', 'C', 'h', 'a', 'n', 'g', 'e', 0, 'C', 'A', 'L', '_', 'B', 'O', 'R', 'D', 'E', 'R', '_', 'S', 'Q', 'U', 'A', 'R', 'E', 0, 'C', 'A', 'L', '_', 'S', 'H', 'O', 'W', '_', 'H', 'O', 'L', 'I', 'D', 'A', 'Y', 'S', 0, 'w', 'x', 'A', 'b', 'o', 'u', 't', 'D', 'i', 'a', 'l', 'o', 'g', 'I', 'n', 'f', 'o', 0, 'O', 'n', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'a', 't', 'u', 's', 'B', 'a', 'r', 0, 'D', 'o', 'S', 'e', 't', 'P', 'o', 'p', 'u', 'p', 'C', 'o', 'n', 't', 'r', 'o', 'l', 0, 'I', 'n', 'h', 'e', 'r', 'i', 't', 'A', 't', 't', 'r', 'i', 'b', 'u', 't', 'e', 's', 0, 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 'O', 't', 'h', 'e', 'r', 'D', 'i', 'r', 0, 'S', 'e', 't', 'T', 'e', 'x', 't', 'F', 'o', 'r', 'e', 'g', 'r', 'o', 'u', 'n', 'd', 0, 'S', 'e', 't', 'T', 'e', 'x', 't', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 0, 'S', 'e', 't', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 'M', 'o', 'd', 'e', 0, 'G', 'e', 't', 'P', 'a', 'g', 'e', 'A', 'r', 'e', 'a', 'S', 'i', 'z', 'e', 'r', 0, 'w', 'x', 'T', 'i', 'm', 'e', 'P', 'i', 'c', 'k', 'e', 'r', 'C', 't', 'r', 'l', 0, 'T', 'i', 'p', 'K', 'i', 'n', 'd', '_', 'T', 'o', 'p', 'R', 'i', 'g', 'h', 't', 0, 'w', 'x', 'B', 'i', 't', 'm', 'a', 'p', 'C', 'o', 'm', 'b', 'o', 'B', 'o', 'x', 0, 'w', 'x', 'S', 'a', 's', 'h', 'D', 'r', 'a', 'g', 'S', 't', 'a', 't', 'u', 's', 0, 'S', 'P', 'L', 'A', 'S', 'H', '_', 'N', 'O', '_', 'C', 'E', 'N', 'T', 'R', 'E', 0, 'E', 'L', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '_', 'S', 'T', 'Y', 'L', 'E', 0, 'A', 'C', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '_', 'S', 'T', 'Y', 'L', 'E', 0, 'A', 'C', '_', 'N', 'O', '_', 'A', 'U', 'T', 'O', 'R', 'E', 'S', 'I', 'Z', 'E', 0, 'G', 'e', 't', 'N', 'u', 'm', 'b', 'e', 'r', 'B', 'u', 't', 't', 'o', 'n', 's', 0, 'T', 'B', 'I', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '_', 'T', 'Y', 'P', 'E', 0, 'S', 'e', 't', 'V', 'i', 's', 'i', 't', 'e', 'd', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'G', 'e', 't', 'V', 'i', 's', 'i', 't', 'e', 'd', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'w', 'x', 'H', 'y', 'p', 'e', 'r', 'l', 'i', 'n', 'k', 'E', 'v', 'e', 'n', 't', 0, 'H', 'L', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '_', 'S', 'T', 'Y', 'L', 'E', 0, 'E', 'n', 'a', 'b', 'l', 'e', 'Y', 'e', 'a', 'r', 'C', 'h', 'a', 'n', 'g', 'e', 0, 'S', 'e', 't', 'H', 'e', 'a', 'd', 'e', 'r', 'C', 'o', 'l', 'o', 'u', 'r', 's', 0, 'C', 'A', 'L', '_', 'H', 'I', 'T', 'T', 'E', 'S', 'T', '_', 'W', 'E', 'E', 'K', 0, 'C', 'A', 'L', '_', 'B', 'O', 'R', 'D', 'E', 'R', '_', 'R', 'O', 'U', 'N', 'D', 0, 'C', 'A', 'L', '_', 'M', 'O', 'N', 'D', 'A', 'Y', '_', 'F', 'I', 'R', 'S', 'T', 0, 'C', 'A', 'L', '_', 'S', 'U', 'N', 'D', 'A', 'Y', '_', 'F', 'I', 'R', 'S', 'T', 0, 'w', 'x', 'D', 'a', 't', 'e', 'P', 'i', 'c', 'k', 'e', 'r', 'C', 't', 'r', 'l', 0, 'n', 'e', 'w', 'F', 'r', 'a', 'm', 'e', 'E', 'a', 'c', 'h', 'T', 'i', 'm', 'e', 0, 'D', 'i', 's', 'p', 'l', 'a', 'y', 'T', 'e', 'x', 't', 'P', 'o', 'p', 'u', 'p', 0, 'G', 'e', 't', 'C', 'o', 'n', 't', 'e', 'n', 't', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'O', 'n', 'D', 'r', 'a', 'w', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 0, 'I', 's', 'K', 'e', 'y', 'P', 'o', 'p', 'u', 'p', 'T', 'o', 'g', 'g', 'l', 'e', 0, 'S', 'e', 'n', 'd', 'D', 'e', 's', 't', 'r', 'o', 'y', 'E', 'v', 'e', 'n', 't', 0, 'G', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'G', 'e', 't', 'E', 'v', 'e', 'n', 't', 'C', 'a', 't', 'e', 'g', 'o', 'r', 'y', 0, 'D', 'r', 'a', 'w', 'T', 'o', 'D', 'C', 'C', 'l', 'i', 'p', 'p', 'e', 'd', 0, 'T', 'i', 'p', 'K', 'i', 'n', 'd', '_', 'T', 'o', 'p', 'L', 'e', 'f', 't', 0, 'L', 'A', 'Y', 'O', 'U', 'T', '_', 'V', 'E', 'R', 'T', 'I', 'C', 'A', 'L', 0, 'S', 'e', 't', 'M', 'i', 'n', 'i', 'm', 'u', 'm', 'S', 'i', 'z', 'e', 'Y', 0, 'S', 'e', 't', 'M', 'i', 'n', 'i', 'm', 'u', 'm', 'S', 'i', 'z', 'e', 'X', 0, 'S', 'e', 't', 'M', 'a', 'x', 'i', 'm', 'u', 'm', 'S', 'i', 'z', 'e', 'Y', 0, 'S', 'e', 't', 'M', 'a', 'x', 'i', 'm', 'u', 'm', 'S', 'i', 'z', 'e', 'X', 0, 'G', 'e', 't', 'M', 'i', 'n', 'i', 'm', 'u', 'm', 'S', 'i', 'z', 'e', 'Y', 0, 'G', 'e', 't', 'M', 'i', 'n', 'i', 'm', 'u', 'm', 'S', 'i', 'z', 'e', 'X', 0, 'G', 'e', 't', 'M', 'a', 'x', 'i', 'm', 'u', 'm', 'S', 'i', 'z', 'e', 'Y', 0, 'G', 'e', 't', 'M', 'a', 'x', 'i', 'm', 'u', 'm', 'S', 'i', 'z', 'e', 'X', 0, 'E', 'L', '_', 'A', 'L', 'L', 'O', 'W', '_', 'D', 'E', 'L', 'E', 'T', 'E', 0, 'w', 'x', 'A', 'n', 'i', 'm', 'a', 't', 'i', 'o', 'n', 'C', 't', 'r', 'l', 0, 'w', 'x', 'A', 'n', 'i', 'm', 'a', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', 0, 'C', 'r', 'e', 'a', 't', 'e', 'P', 'o', 'p', 'u', 'p', 'M', 'e', 'n', 'u', 0, 'I', 's', 'I', 'c', 'o', 'n', 'I', 'n', 's', 't', 'a', 'l', 'l', 'e', 'd', 0, 'S', 'e', 't', 'N', 'o', 'r', 'm', 'a', 'l', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'G', 'e', 't', 'N', 'o', 'r', 'm', 'a', 'l', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'w', 'x', 'H', 'y', 'p', 'e', 'r', 'l', 'i', 'n', 'k', 'C', 't', 'r', 'l', 0, 'w', 'x', 'E', 'V', 'T', '_', 'H', 'Y', 'P', 'E', 'R', 'L', 'I', 'N', 'K', 0, 'H', 'L', '_', 'A', 'L', 'I', 'G', 'N', '_', 'C', 'E', 'N', 'T', 'R', 'E', 0, 'C', 'a', 'l', 'e', 'n', 'd', 'a', 'r', 'N', 'a', 'm', 'e', 'S', 't', 'r', 0, 'S', 'e', 't', 'B', 'o', 'r', 'd', 'e', 'r', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'H', 'a', 's', 'B', 'o', 'r', 'd', 'e', 'r', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'G', 'e', 't', 'B', 'o', 'r', 'd', 'e', 'r', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'w', 'x', 'C', 'a', 'l', 'e', 'n', 'd', 'a', 'r', 'E', 'v', 'e', 'n', 't', 0, 'C', 'A', 'L', '_', 'H', 'I', 'T', 'T', 'E', 'S', 'T', '_', 'D', 'A', 'Y', 0, 'C', 'A', 'L', '_', 'B', 'O', 'R', 'D', 'E', 'R', '_', 'N', 'O', 'N', 'E', 0, 'G', 'e', 'n', 'e', 'r', 'i', 'c', 'A', 'b', 'o', 'u', 't', 'B', 'o', 'x', 0, 'S', 'e', 't', 'P', 'a', 'r', 'e', 'n', 't', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'G', 'e', 't', 'P', 'a', 'r', 'e', 'n', 't', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'D', 'i', 's', 'p', 'l', 'a', 'y', 'C', 'o', 'n', 't', 'e', 'n', 't', 's', 0, 'O', 'n', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'o', 'o', 'l', 'B', 'a', 'r', 0, 'D', 'o', 'G', 'e', 't', 'B', 'o', 'r', 'd', 'e', 'r', 'S', 'i', 'z', 'e', 0, 'D', 'o', 'S', 'e', 't', 'C', 'l', 'i', 'e', 'n', 't', 'S', 'i', 'z', 'e', 0, 'D', 'o', 'G', 'e', 't', 'C', 'l', 'i', 'e', 'n', 't', 'S', 'i', 'z', 'e', 0, 'D', 'r', 'a', 'w', 'R', 'o', 't', 'a', 't', 'e', 'd', 'T', 'e', 'x', 't', 0, 'D', 'r', 'a', 'w', 'E', 'l', 'l', 'i', 'p', 't', 'i', 'c', 'A', 'r', 'c', 0, 'C', 'r', 'e', 'a', 't', 'e', 'B', 'o', 'o', 'k', 'C', 't', 'r', 'l', 0, 'G', 'e', 't', 'I', 'd', 'G', 'r', 'e', 'y', 'e', 'd', 'O', 'u', 't', 0, 'S', 'e', 't', 'I', 'd', 'G', 'r', 'e', 'y', 'e', 'd', 'O', 'u', 't', 0, 'T', 'i', 'p', 'K', 'i', 'n', 'd', '_', 'B', 'o', 't', 't', 'o', 'm', 0, 'S', 'e', 't', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'S', 'i', 'z', 'e', 0, 'L', 'a', 'y', 'o', 'u', 't', 'M', 'D', 'I', 'F', 'r', 'a', 'm', 'e', 0, 'S', 'e', 't', 'S', 'a', 's', 'h', 'V', 'i', 's', 'i', 'b', 'l', 'e', 0, 'G', 'e', 't', 'S', 'a', 's', 'h', 'V', 'i', 's', 'i', 'b', 'l', 'e', 0, 'S', 'A', 'S', 'H', '_', 'S', 'T', 'A', 'T', 'U', 'S', '_', 'O', 'K', 0, 'G', 'e', 't', 'S', 'p', 'l', 'a', 's', 'h', 'S', 't', 'y', 'l', 'e', 0, 'w', 'x', 'S', 'p', 'l', 'a', 's', 'h', 'S', 'c', 'r', 'e', 'e', 'n', 0, 'S', 'P', 'L', 'A', 'S', 'H', '_', 'T', 'I', 'M', 'E', 'O', 'U', 'T', 0, 'w', 'x', 'B', 'a', 'n', 'n', 'e', 'r', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'R', 'e', 'l', 'e', 'a', 's', 'e', 'C', 'a', 'p', 't', 'u', 'r', 'e', 0, 'G', 'e', 't', 'P', 'r', 'o', 'd', 'u', 'c', 't', 'N', 'a', 'm', 'e', 0, 'G', 'e', 't', 'P', 'O', 'V', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0, 'C', 'r', 'e', 'a', 't', 'e', 'F', 'r', 'o', 'm', 'D', 'a', 't', 'a', 0, 'S', 'e', 't', 'H', 'o', 'v', 'e', 'r', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'G', 'e', 't', 'H', 'o', 'v', 'e', 'r', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'H', 'L', '_', 'A', 'L', 'I', 'G', 'N', '_', 'R', 'I', 'G', 'H', 'T', 0, 'H', 'L', '_', 'C', 'O', 'N', 'T', 'E', 'X', 'T', 'M', 'E', 'N', 'U', 0, 'w', 'x', 'C', 'a', 'l', 'e', 'n', 'd', 'a', 'r', 'C', 't', 'r', 'l', 0, 'D', 'P', '_', 'S', 'H', 'O', 'W', 'C', 'E', 'N', 'T', 'U', 'R', 'Y', 0, 'G', 'e', 't', 'T', 'r', 'a', 'n', 's', 'l', 'a', 't', 'o', 'r', 's', 0, 'H', 'a', 's', 'T', 'r', 'a', 'n', 's', 'l', 'a', 't', 'o', 'r', 's', 0, 'G', 'e', 't', 'L', 'o', 'n', 'g', 'V', 'e', 'r', 's', 'i', 'o', 'n', 0, 'S', 'e', 't', 'T', 'r', 'a', 'n', 's', 'l', 'a', 't', 'o', 'r', 's', 0, 'S', 'e', 't', 'D', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 0, 'D', 'i', 's', 'p', 'l', 'a', 'y', 'S', 'e', 'c', 't', 'i', 'o', 'n', 0, 'H', 'a', 's', 'D', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'C', 'u', 'r', 'r', 'e', 'n', 't', 'P', 'a', 'g', 'e', 0, 'D', 'o', 'S', 'e', 't', 'S', 'i', 'z', 'e', 'H', 'i', 'n', 't', 's', 0, 'O', 'n', 'I', 'n', 't', 'e', 'r', 'n', 'a', 'l', 'I', 'd', 'l', 'e', 0, 'G', 'e', 't', 'B', 'u', 't', 't', 'o', 'n', 'S', 't', 'a', 't', 'e', 0, 'G', 'e', 't', 'D', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 0, 'S', 'e', 't', 'O', 'r', 'i', 'e', 'n', 't', 'a', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'O', 'r', 'i', 'e', 'n', 't', 'a', 't', 'i', 'o', 'n', 0, 'S', 'e', 't', 'S', 'h', 'e', 'e', 't', 'S', 't', 'y', 'l', 'e', 0, 'G', 'e', 't', 'S', 'h', 'e', 'e', 't', 'S', 't', 'y', 'l', 'e', 0, 'S', 'e', 't', 'I', 'n', 'n', 'e', 'r', 'S', 'i', 'z', 'e', 'r', 0, 'G', 'e', 't', 'I', 'n', 'n', 'e', 'r', 'S', 'i', 'z', 'e', 'r', 0, 'w', 'x', 'W', 'i', 'z', 'a', 'r', 'd', 'E', 'v', 'e', 'n', 't', 0, 'w', 'x', 'R', 'i', 'c', 'h', 'T', 'o', 'o', 'l', 'T', 'i', 'p', 0, 'S', 'e', 't', 'I', 't', 'e', 'm', 'B', 'i', 't', 'm', 'a', 'p', 0, 'G', 'e', 't', 'I', 't', 'e', 'm', 'B', 'i', 't', 'm', 'a', 'p', 0, 'G', 'e', 't', 'B', 'i', 't', 'm', 'a', 'p', 'S', 'i', 'z', 'e', 0, 'G', 'e', 't', 'W', 'i', 'd', 'e', 's', 't', 'I', 't', 'e', 'm', 0, 'L', 'A', 'Y', 'O', 'U', 'T', '_', 'B', 'O', 'T', 'T', 'O', 'M', 0, 'S', 'e', 't', 'D', 'r', 'a', 'g', 'S', 't', 'a', 't', 'u', 's', 0, 'G', 'e', 't', 'D', 'r', 'a', 'g', 'S', 't', 'a', 't', 'u', 's', 0, 'G', 'e', 't', 'E', 'd', 'g', 'e', 'M', 'a', 'r', 'g', 'i', 'n', 0, 'T', 'i', 'm', 'e', 'o', 'u', 't', '_', 'N', 'e', 'v', 'e', 'r', 0, 'G', 'e', 't', 'E', 'd', 'i', 't', 'B', 'u', 't', 't', 'o', 'n', 0, 'G', 'e', 't', 'D', 'o', 'w', 'n', 'B', 'u', 't', 't', 'o', 'n', 0, 'E', 'L', '_', 'N', 'O', '_', 'R', 'E', 'O', 'R', 'D', 'E', 'R', 0, 'E', 'L', '_', 'A', 'L', 'L', 'O', 'W', '_', 'E', 'D', 'I', 'T', 0, 'N', 'u', 'l', 'l', 'A', 'n', 'i', 'm', 'a', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'F', 'r', 'a', 'm', 'e', 'C', 'o', 'u', 'n', 't', 0, 'G', 'e', 't', 'M', 'a', 'x', 'B', 'u', 't', 't', 'o', 'n', 's', 0, 'G', 'e', 't', 'P', 'o', 'l', 'l', 'i', 'n', 'g', 'M', 'i', 'n', 0, 'G', 'e', 't', 'P', 'o', 'l', 'l', 'i', 'n', 'g', 'M', 'a', 'x', 0, 'G', 'e', 't', 'N', 'u', 'm', 'b', 'e', 'r', 'A', 'x', 'e', 's', 0, 'w', 'x', 'T', 'a', 's', 'k', 'B', 'a', 'r', 'I', 'c', 'o', 'n', 0, 's', 'h', 'o', 'w', 'A', 't', 'S', 't', 'a', 'r', 't', 'u', 'p', 0, 'P', 'r', 'e', 'p', 'r', 'o', 'c', 'e', 's', 's', 'T', 'i', 'p', 0, 'G', 'e', 't', 'C', 'u', 'r', 'r', 'e', 'n', 't', 'T', 'i', 'p', 0, 'w', 'x', 'T', 'i', 'p', 'P', 'r', 'o', 'v', 'i', 'd', 'e', 'r', 0, 'H', 'L', '_', 'A', 'L', 'I', 'G', 'N', '_', 'L', 'E', 'F', 'T', 0, 'G', 'e', 't', 'D', 'o', 'c', 'W', 'r', 'i', 't', 'e', 'r', 's', 0, 'H', 'a', 's', 'D', 'o', 'c', 'W', 'r', 'i', 't', 'e', 'r', 's', 0, 'G', 'e', 't', 'D', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 's', 0, 'H', 'a', 's', 'D', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 's', 0, 'G', 'e', 't', 'W', 'e', 'b', 'S', 'i', 't', 'e', 'U', 'R', 'L', 0, 'S', 'e', 't', 'D', 'o', 'c', 'W', 'r', 'i', 't', 'e', 'r', 's', 0, 'S', 'e', 't', 'D', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 's', 0, 'A', 'd', 'd', 'T', 'r', 'a', 'n', 's', 'l', 'a', 't', 'o', 'r', 0, 'C', 'r', 'e', 'a', 't', 'e', 'B', 'u', 't', 't', 'o', 'n', 's', 0, 'K', 'e', 'y', 'w', 'o', 'r', 'd', 'S', 'e', 'a', 'r', 'c', 'h', 0, 'O', 'n', 'M', 'e', 'a', 's', 'u', 'r', 'e', 'I', 't', 'e', 'm', 0, 'O', 'n', 'B', 'u', 't', 't', 'o', 'n', 'C', 'l', 'i', 'c', 'k', 0, 'H', 'a', 's', 'T', 'e', 'x', 't', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'S', 'e', 't', 'T', 'e', 'x', 't', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'G', 'e', 't', 'T', 'e', 'x', 't', 'C', 'o', 'l', 'o', 'u', 'r', 0, 'D', 'o', 'G', 'e', 't', 'B', 'e', 's', 't', 'S', 'i', 'z', 'e', 0, 'D', 'o', 'G', 'e', 't', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0, 'S', 'e', 't', 'B', 'a', 'c', 'k', 'g', 'r', 'o', 'u', 'n', 'd', 0, 'D', 'r', 'a', 'w', 'R', 'e', 'c', 't', 'a', 'n', 'g', 'l', 'e', 0, 'D', 'r', 'a', 'w', 'C', 'h', 'e', 'c', 'k', 'M', 'a', 'r', 'k', 0, 'L', 'a', 'y', 'o', 'u', 't', 'D', 'i', 'a', 'l', 'o', 'g', 0, 'g', 'o', 'i', 'n', 'g', 'F', 'o', 'r', 'w', 'a', 'r', 'd', 0, 'w', 'x', 'W', 'i', 'z', 'a', 'r', 'd', 'P', 'a', 'g', 'e', 0, 'S', 'e', 't', 'T', 'i', 't', 'l', 'e', 'F', 'o', 'n', 't', 0, 'T', 'i', 'p', 'K', 'i', 'n', 'd', '_', 'A', 'u', 't', 'o', 0, 'T', 'i', 'p', 'K', 'i', 'n', 'd', '_', 'N', 'o', 'n', 'e', 0, 'L', 'A', 'Y', 'O', 'U', 'T', '_', 'R', 'I', 'G', 'H', 'T', 0, 'w', 'x', 'S', 'a', 's', 'h', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'T', 'i', 'm', 'e', 'o', 'u', 't', '_', 'A', 'u', 't', 'o', 0, 'G', 'e', 't', 'N', 'e', 'w', 'B', 'u', 't', 't', 'o', 'n', 0, 'G', 'e', 't', 'D', 'e', 'l', 'B', 'u', 't', 't', 'o', 'n', 0, 'E', 'L', '_', 'A', 'L', 'L', 'O', 'W', '_', 'N', 'E', 'W', 0, 'S', 'e', 't', 'A', 'n', 'i', 'm', 'a', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'A', 'n', 'i', 'm', 'a', 't', 'i', 'o', 'n', 0, 'U', 'S', 'E', '_', 'J', 'O', 'Y', 'S', 'T', 'I', 'C', 'K', 0, 'G', 'e', 't', 'V', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'U', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'R', 'u', 'd', 'd', 'e', 'r', 'M', 'i', 'n', 0, 'G', 'e', 't', 'R', 'u', 'd', 'd', 'e', 'r', 'M', 'a', 'x', 0, 'G', 'e', 't', 'P', 'r', 'o', 'd', 'u', 'c', 't', 'I', 'd', 0, 'G', 'e', 't', 'D', 'a', 't', 'e', 'R', 'a', 'n', 'g', 'e', 0, 'S', 'e', 't', 'D', 'a', 't', 'e', 'R', 'a', 'n', 'g', 'e', 0, 'D', 'P', '_', 'A', 'L', 'L', 'O', 'W', 'N', 'O', 'N', 'E', 0, 'G', 'e', 't', 'M', 'a', 'i', 'n', 'L', 'a', 'b', 'e', 'l', 0, 'S', 'e', 't', 'M', 'a', 'i', 'n', 'L', 'a', 'b', 'e', 'l', 0, 'S', 'e', 't', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', 0, 'A', 'd', 'd', 'D', 'o', 'c', 'W', 'r', 'i', 't', 'e', 'r', 0, 'A', 'd', 'd', 'D', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 0, 'D', 'i', 's', 'p', 'l', 'a', 'y', 'B', 'l', 'o', 'c', 'k', 0, 'p', 'a', 'r', 'e', 'n', 't', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'G', 'e', 't', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', 0, 'H', 'a', 's', 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', 0, 'S', 'e', 't', 'A', 'l', 'i', 'g', 'n', 'm', 'e', 'n', 't', 0, 'G', 'e', 't', 'A', 'l', 'i', 'g', 'n', 'm', 'e', 'n', 't', 0, 'D', 'o', 'M', 'o', 'v', 'e', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'S', 'e', 't', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', 0, 'G', 'e', 't', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', 0, 'A', 'c', 'c', 'e', 'p', 't', 's', 'F', 'o', 'c', 'u', 's', 0, 'G', 'e', 't', 'D', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'Z', 'P', 'o', 's', 'i', 't', 'i', 'o', 'n', 0, 'P', 'r', 'o', 'c', 'e', 's', 's', 'E', 'v', 'e', 'n', 't', 0, 'S', 'e', 't', 'S', 'e', 'l', 'e', 'c', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'S', 'e', 'l', 'e', 'c', 't', 'i', 'o', 'n', 0, 'm', 'i', 'l', 'l', 'i', 's', 'e', 'c', 'o', 'n', 'd', 's', 0, 'S', 'e', 't', 'B', 'o', 'o', 'k', 'C', 't', 'r', 'l', 0, 'c', 'e', 'n', 't', 'r', 'e', 'F', 'l', 'a', 'g', 's', 0, 'G', 'e', 't', 'B', 'o', 'o', 'k', 'C', 't', 'r', 'l', 0, 'A', 'd', 'd', 'B', 'o', 'o', 'k', 'C', 't', 'r', 'l', 0, 'G', 'e', 't', 'I', 'd', 'B', 'o', 'u', 'n', 'd', 's', 0, 'S', 'e', 't', 'I', 'd', 'B', 'o', 'u', 'n', 'd', 's', 0, 'F', 'i', 'n', 'd', 'O', 'b', 'j', 'e', 'c', 't', 's', 0, 'T', 'r', 'a', 'n', 's', 'l', 'a', 't', 'e', 'I', 'd', 0, 'H', 'a', 's', 'P', 'r', 'e', 'v', 'P', 'a', 'g', 'e', 0, 'H', 'a', 's', 'N', 'e', 'x', 't', 'P', 'a', 'g', 'e', 0, 'W', 'I', 'Z', 'A', 'R', 'D', '_', 'T', 'I', 'L', 'E', 0, 'T', 'i', 'p', 'K', 'i', 'n', 'd', '_', 'T', 'o', 'p', 0, 'L', 'a', 'y', 'o', 'u', 't', 'F', 'r', 'a', 'm', 'e', 0, 'L', 'A', 'Y', 'O', 'U', 'T', '_', 'L', 'E', 'F', 'T', 0, 'L', 'A', 'Y', 'O', 'U', 'T', '_', 'N', 'O', 'N', 'E', 0, 'S', 'e', 't', 'D', 'r', 'a', 'g', 'R', 'e', 'c', 't', 0, 'G', 'e', 't', 'D', 'r', 'a', 'g', 'R', 'e', 'c', 't', 0, 'w', 'x', 'S', 'a', 's', 'h', 'E', 'v', 'e', 'n', 't', 0, 'S', 'i', 'z', 'e', 'W', 'i', 'n', 'd', 'o', 'w', 's', 0, 'S', 'a', 's', 'h', 'H', 'i', 't', 'T', 'e', 's', 't', 0, 'S', 'A', 'S', 'H', '_', 'B', 'O', 'T', 'T', 'O', 'M', 0, 'S', 'W', '_', '3', 'D', 'B', 'O', 'R', 'D', 'E', 'R', 0, 'S', 'W', '_', 'N', 'O', 'B', 'O', 'R', 'D', 'E', 'R', 0, 's', 'p', 'l', 'a', 's', 'h', 'S', 't', 'y', 'l', 'e', 0, 'G', 'e', 't', 'U', 'p', 'B', 'u', 't', 't', 'o', 'n', 0, 'G', 'e', 't', 'L', 'i', 's', 't', 'C', 't', 'r', 'l', 0, 'S', 'e', 't', 'G', 'r', 'a', 'd', 'i', 'e', 'n', 't', 0, 'w', 'x', 'A', 'n', 'i', 'm', 'a', 't', 'i', 'o', 'n', 0, 'p', 'o', 'l', 'l', 'i', 'n', 'g', 'F', 'r', 'e', 'q', 0, 'S', 'O', 'U', 'N', 'D', '_', 'A', 'S', 'Y', 'N', 'C', 0, 'S', 'h', 'o', 'w', 'B', 'a', 'l', 'l', 'o', 'o', 'n', 0, 't', 'i', 'p', 'P', 'r', 'o', 'v', 'i', 'd', 'e', 'r', 0, 'D', 'P', '_', 'D', 'R', 'O', 'P', 'D', 'O', 'W', 'N', 0, 'w', 'x', 'D', 'a', 't', 'e', 'E', 'v', 'e', 'n', 't', 0, 'D', 'i', 's', 'p', 'l', 'a', 'y', 'H', 'e', 'l', 'p', 0, 'r', 'e', 'l', 'a', 't', 'i', 'v', 'e', 'U', 'R', 'L', 0, 'l', 'o', 'n', 'g', 'V', 'e', 'r', 's', 'i', 'o', 'n', 0, 't', 'r', 'a', 'n', 's', 'l', 'a', 't', 'o', 'r', 's', 0, 't', 'i', 't', 'l', 'e', 'F', 'o', 'r', 'm', 'a', 't', 0, 'D', 'o', 'S', 'h', 'o', 'w', 'P', 'o', 'p', 'u', 'p', 0, 'A', 'n', 'i', 'm', 'a', 't', 'e', 'S', 'h', 'o', 'w', 0, 'G', 'e', 't', 'P', 'a', 'g', 'e', 'S', 'i', 'z', 'e', 0, 'S', 'e', 't', 'P', 'a', 'g', 'e', 'S', 'i', 'z', 'e', 0, 'S', 'e', 't', 'C', 'a', 'n', 'F', 'o', 'c', 'u', 's', 0, 'R', 'e', 'm', 'o', 'v', 'e', 'C', 'h', 'i', 'l', 'd', 0, 'D', 'r', 'a', 'w', 'P', 'o', 'l', 'y', 'g', 'o', 'n', 0, 'D', 'r', 'a', 'w', 'E', 'l', 'l', 'i', 'p', 's', 'e', 0, 'o', 'r', 'i', 'e', 'n', 't', 'a', 't', 'i', 'o', 'n', 0, 'I', 's', 'A', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, '_', '_', 'n', 'o', 'n', 'z', 'e', 'r', 'o', '_', '_', 0, 'D', 'r', 'a', 'w', 'I', 'd', 'T', 'o', 'D', 'C', 0, 'w', 'x', 'P', 's', 'e', 'u', 'd', 'o', 'D', 'C', 0, 'T', 'P', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 0, 'S', 'e', 't', 'T', 'i', 'p', 'K', 'i', 'n', 'd', 0, 'S', 'e', 't', 'T', 'i', 'm', 'e', 'o', 'u', 't', 0, 'm', 'a', 'i', 'n', 'W', 'i', 'n', 'd', 'o', 'w', 0, 'L', 'A', 'Y', 'O', 'U', 'T', '_', 'T', 'O', 'P', 0, 'S', 'A', 'S', 'H', '_', 'R', 'I', 'G', 'H', 'T', 0, 'G', 'e', 't', 'T', 'i', 'm', 'e', 'o', 'u', 't', 0, 'S', 'e', 't', 'S', 't', 'r', 'i', 'n', 'g', 's', 0, 'G', 'e', 't', 'M', 'a', 'x', 'A', 'x', 'e', 's', 0, 'S', 'e', 't', 'C', 'a', 'p', 't', 'u', 'r', 'e', 0, 'H', 'a', 's', 'P', 'O', 'V', '4', 'D', 'i', 'r', 0, 'w', 'x', 'J', 'o', 'y', 's', 't', 'i', 'c', 'k', 0, 'S', 'O', 'U', 'N', 'D', '_', 'L', 'O', 'O', 'P', 0, 'S', 'O', 'U', 'N', 'D', '_', 'S', 'Y', 'N', 'C', 0, 'R', 'e', 'm', 'o', 'v', 'e', 'I', 'c', 'o', 'n', 0, 'c', 'u', 'r', 'r', 'e', 'n', 't', 'T', 'i', 'p', 0, 'S', 'e', 't', 'V', 'i', 's', 'i', 't', 'e', 'd', 0, 'G', 'e', 't', 'V', 'i', 's', 'i', 't', 'e', 'd', 0, 'S', 'e', 't', 'H', 'o', 'l', 'i', 'd', 'a', 'y', 0, 'S', 'e', 't', 'W', 'e', 'e', 'k', 'D', 'a', 'y', 0, 'D', 'P', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 0, 'G', 'e', 't', 'A', 'r', 't', 'i', 's', 't', 's', 0, 'H', 'a', 's', 'A', 'r', 't', 'i', 's', 't', 's', 0, 'S', 'e', 't', 'W', 'e', 'b', 'S', 'i', 't', 'e', 0, 'H', 'a', 's', 'W', 'e', 'b', 'S', 'i', 't', 'e', 0, 'S', 'e', 't', 'V', 'e', 'r', 's', 'i', 'o', 'n', 0, 'S', 'e', 't', 'L', 'i', 'c', 'e', 'n', 's', 'e', 0, 'S', 'e', 't', 'L', 'i', 'c', 'e', 'n', 'c', 'e', 0, 'G', 'e', 't', 'L', 'i', 'c', 'e', 'n', 'c', 'e', 0, 'H', 'a', 's', 'L', 'i', 'c', 'e', 'n', 'c', 'e', 0, 'd', 'o', 'c', 'w', 'r', 'i', 't', 'e', 'r', 's', 0, 'd', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 's', 0, 'S', 'e', 't', 'A', 'r', 't', 'i', 's', 't', 's', 0, 't', 'r', 'a', 'n', 's', 'l', 'a', 't', 'o', 'r', 0, 'S', 'e', 't', 'M', 'e', 's', 's', 'a', 'g', 'e', 0, 'O', 'n', 'D', 'r', 'a', 'w', 'I', 't', 'e', 'm', 0, 'w', 'i', 'd', 't', 'h', 'T', 'i', 't', 'l', 'e', 0, 'I', 'n', 'i', 't', 'i', 'a', 'l', 'i', 'z', 'e', 0, 'c', 'l', 'i', 'e', 'n', 't', 'D', 'a', 't', 'a', 0, 'F', 'i', 'n', 'd', 'S', 't', 'r', 'i', 'n', 'g', 0, 'G', 'e', 't', 'S', 't', 'r', 'i', 'n', 'g', 's', 0, 'I', 'n', 'i', 't', 'D', 'i', 'a', 'l', 'o', 'g', 0, 'G', 'e', 't', 'V', 'e', 'r', 's', 'i', 'o', 'n', 0, 'D', 'r', 'a', 'w', 'S', 'p', 'l', 'i', 'n', 'e', 0, 'i', 'n', 'd', 'e', 'x', 'A', 'c', 'c', 'e', 'l', 0, 'D', 'r', 'a', 'w', 'C', 'i', 'r', 'c', 'l', 'e', 0, 'D', 'r', 'a', 'w', 'B', 'i', 't', 'm', 'a', 'p', 0, 'G', 'e', 't', 'W', 'e', 'e', 'k', 'D', 'a', 'y', 0, 'p', 'l', 'a', 'c', 'e', 'm', 'e', 'n', 't', 0, 'R', 'u', 'n', 'W', 'i', 'z', 'a', 'r', 'd', 0, 'F', 'i', 't', 'T', 'o', 'P', 'a', 'g', 'e', 0, 'f', 'i', 'r', 's', 't', 'P', 'a', 'g', 'e', 0, 'w', 'x', 'T', 'i', 'p', 'K', 'i', 'n', 'd', 0, 'S', 'A', 'S', 'H', '_', 'N', 'O', 'N', 'E', 0, 'S', 'A', 'S', 'H', '_', 'L', 'E', 'F', 'T', 0, 'S', 'W', '_', '3', 'D', 'S', 'A', 'S', 'H', 0, 'S', 'W', '_', 'B', 'O', 'R', 'D', 'E', 'R', 0, 'I', 's', 'P', 'l', 'a', 'y', 'i', 'n', 'g', 0, 'H', 'a', 's', 'R', 'u', 'd', 'd', 'e', 'r', 0, 'H', 'a', 's', 'P', 'O', 'V', 'C', 'T', 'S', 0, 'P', 'l', 'a', 'y', 'S', 'o', 'u', 'n', 'd', 0, 'R', 'e', 's', 'e', 't', 'A', 't', 't', 'r', 0, 'u', 'p', 'p', 'e', 'r', 'd', 'a', 't', 'e', 0, 'l', 'o', 'w', 'e', 'r', 'd', 'a', 't', 'e', 0, 'I', 's', 'H', 'o', 'l', 'i', 'd', 'a', 'y', 0, 'H', 'a', 's', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'c', 'o', 'l', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'm', 'a', 'i', 'n', 'L', 'a', 'b', 'e', 'l', 0, 'd', 'o', 'c', 'w', 'r', 'i', 't', 'e', 'r', 0, 'd', 'e', 'v', 'e', 'l', 'o', 'p', 'e', 'r', 0, 'A', 'd', 'd', 'A', 'r', 't', 'i', 's', 't', 0, 'S', 'e', 't', 'V', 'i', 'e', 'w', 'e', 'r', 0, 's', 'e', 'c', 't', 'i', 'o', 'n', 'N', 'o', 0, 'c', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', 0, 'H', 'i', 'd', 'e', 'P', 'o', 'p', 'u', 'p', 0, 'g', 'e', 'n', 'e', 'r', 'a', 't', 'o', 'r', 0, 'c', 'o', 'l', 'u', 'm', 'n', 'M', 'a', 'x', 0, 'c', 'o', 'l', 'u', 'm', 'n', 'M', 'i', 'n', 0, 'S', 'e', 't', 'P', 'a', 'r', 'e', 'n', 't', 0, 'D', 'o', 'S', 'e', 't', 'S', 'i', 'z', 'e', 0, 'D', 'o', 'G', 'e', 't', 'S', 'i', 'z', 'e', 0, 'v', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', 0, 's', 'i', 'z', 'e', 'F', 'l', 'a', 'g', 's', 0, 'I', 's', 'R', 'u', 'n', 'n', 'i', 'n', 'g', 0, 'S', 'e', 't', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'G', 'e', 't', 'B', 'o', 'r', 'd', 'e', 'r', 0, 'S', 'e', 't', 'S', 't', 'r', 'i', 'n', 'g', 0, 'T', 'r', 'y', 'B', 'e', 'f', 'o', 'r', 'e', 0, 'S', 'e', 't', 'B', 'i', 't', 'm', 'a', 'p', 0, 'R', 'e', 'm', 'o', 'v', 'e', 'A', 'l', 'l', 0, 'C', 'r', 'o', 's', 's', 'H', 'a', 'i', 'r', 0, 'F', 'l', 'o', 'o', 'd', 'F', 'i', 'l', 'l', 0, 'D', 'r', 'a', 'w', 'P', 'o', 'i', 'n', 't', 0, 'D', 'r', 'a', 'w', 'L', 'i', 'n', 'e', 's', 0, 'D', 'r', 'a', 'w', 'L', 'a', 'b', 'e', 'l', 0, 'a', 'l', 'i', 'g', 'n', 'm', 'e', 'n', 't', 0, 'f', 'i', 'l', 'l', 'S', 't', 'y', 'l', 'e', 0, 't', 'o', 'l', 'e', 'r', 'a', 'n', 'c', 'e', 0, 'G', 'e', 't', 'B', 'i', 't', 'm', 'a', 'p', 0, 't', 'h', 'r', 'e', 's', 'h', 'o', 'l', 'd', 0, 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', 0, 'G', 'e', 't', 'S', 't', 'r', 'i', 'n', 'g', 0, 'b', 'o', 'o', 'k', 'C', 't', 'r', 'l', 0, 'D', 'r', 'a', 'w', 'T', 'o', 'D', 'C', 0, 'R', 'e', 'm', 'o', 'v', 'e', 'I', 'd', 0, 'S', 'h', 'o', 'w', 'P', 'a', 'g', 'e', 0, 's', 'i', 'z', 'e', 'P', 'a', 'g', 'e', 0, 'w', 'x', 'W', 'i', 'z', 'a', 'r', 'd', 0, 'S', 'A', 'S', 'H', '_', 'T', 'O', 'P', 0, 'a', 'n', 'i', 'm', 'T', 'y', 'p', 'e', 0, 'G', 'e', 't', 'D', 'e', 'l', 'a', 'y', 0, 'i', 'c', 'o', 'n', 'T', 'y', 'p', 'e', 0, 'T', 'B', 'I', '_', 'D', 'O', 'C', 'K', 0, 'S', 'e', 't', 'R', 'a', 'n', 'g', 'e', 0, 'G', 'e', 't', 'R', 'a', 'n', 'g', 'e', 0, 'C', 'a', 'n', 'P', 'a', 's', 't', 'e', 0, 'S', 'e', 't', 'T', 'i', 't', 'l', 'e', 0, 'D', 'o', 'F', 'r', 'e', 'e', 'z', 'e', 0, 'D', 'o', 'E', 'n', 'a', 'b', 'l', 'e', 0, 'S', 'e', 't', 'L', 'a', 'b', 'e', 'l', 0, 'G', 'e', 't', 'L', 'a', 'b', 'e', 'l', 0, 'V', 'a', 'l', 'i', 'd', 'a', 't', 'e', 0, 'c', 'a', 'n', 'F', 'o', 'c', 'u', 's', 0, 'A', 'd', 'd', 'C', 'h', 'i', 'l', 'd', 0, 'f', 'i', 'l', 'e', 'N', 'a', 'm', 'e', 0, 'S', 'e', 't', 'F', 'l', 'a', 'g', 's', 0, 'j', 'o', 'y', 's', 't', 'i', 'c', 'k', 0, 'T', 'r', 'y', 'A', 'f', 't', 'e', 'r', 0, 'S', 'e', 't', 'V', 'a', 'l', 'u', 'e', 0, 'G', 'e', 't', 'F', 'r', 'a', 'm', 'e', 0, 'G', 'e', 't', 'F', 'l', 'a', 'g', 's', 0, 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 0, 'S', 'e', 't', 'B', 'r', 'u', 's', 'h', 0, 'D', 'r', 'a', 'w', 'T', 'e', 'x', 't', 0, 'D', 'r', 'a', 'w', 'L', 'i', 'n', 'e', 0, 'D', 'r', 'a', 'w', 'I', 'c', 'o', 'n', 0, 'L', 'o', 'a', 'd', 'F', 'i', 'l', 'e', 0, 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 0, 'f', 'i', 'l', 'e', 'n', 'a', 'm', 'e', 0, 'G', 'e', 't', 'C', 'o', 'u', 'n', 't', 0, '_', '_', 'b', 'o', 'o', 'l', '_', '_', 0, 'G', 'e', 't', 'V', 'a', 'l', 'u', 'e', 0, 'g', 'r', 'e', 'y', 'o', 'u', 't', 0, 'C', 'l', 'e', 'a', 'r', 'I', 'd', 0, 'S', 'e', 't', 'P', 'r', 'e', 'v', 0, 'S', 'e', 't', 'N', 'e', 'x', 't', 0, 'G', 'e', 't', 'P', 'r', 'e', 'v', 0, 'S', 'e', 't', 'T', 'i', 'm', 'e', 0, 'G', 'e', 't', 'T', 'i', 'm', 'e', 0, 'S', 'h', 'o', 'w', 'F', 'o', 'r', 0, 't', 'i', 'p', 'K', 'i', 'n', 'd', 0, 'v', 'i', 's', 'i', 'b', 'l', 'e', 0, 's', 't', 'r', 'i', 'n', 'g', 's', 0, 'G', 'e', 't', 'Z', 'M', 'i', 'n', 0, 'G', 'e', 't', 'Z', 'M', 'a', 'x', 0, 'G', 'e', 't', 'Y', 'M', 'i', 'n', 0, 'G', 'e', 't', 'Y', 'M', 'a', 'x', 0, 'G', 'e', 't', 'X', 'M', 'i', 'n', 0, 'G', 'e', 't', 'X', 'M', 'a', 'x', 0, 'G', 'e', 't', 'V', 'M', 'i', 'n', 0, 'G', 'e', 't', 'V', 'M', 'a', 'x', 0, 'G', 'e', 't', 'U', 'M', 'i', 'n', 0, 'G', 'e', 't', 'U', 'M', 'a', 'x', 0, 'w', 'x', 'S', 'o', 'u', 'n', 'd', 0, 'S', 'h', 'o', 'w', 'T', 'i', 'p', 0, 'v', 'i', 's', 'i', 't', 'e', 'd', 0, 'S', 'e', 't', 'A', 't', 't', 'r', 0, 'G', 'e', 't', 'A', 't', 't', 'r', 0, 'd', 'i', 's', 'p', 'l', 'a', 'y', 0, 'S', 'e', 't', 'M', 'a', 'r', 'k', 0, 'G', 'e', 't', 'M', 'a', 'r', 'k', 0, 'h', 'o', 'l', 'i', 'd', 'a', 'y', 0, 'D', 'P', '_', 'S', 'P', 'I', 'N', 0, 'S', 'e', 't', 'D', 'a', 't', 'e', 0, 'G', 'e', 't', 'D', 'a', 't', 'e', 0, 'G', 'e', 't', 'N', 'o', 't', 'e', 0, 'S', 'e', 't', 'N', 'o', 't', 'e', 0, 'l', 'i', 'c', 'e', 'n', 'c', 'e', 0, 'H', 'a', 's', 'I', 'c', 'o', 'n', 0, 'a', 'r', 't', 'i', 's', 't', 's', 0, 's', 'e', 'c', 't', 'i', 'o', 'n', 0, 'b', 'l', 'o', 'c', 'k', 'N', 'o', 0, 'e', 'v', 't', 'T', 'y', 'p', 'e', 0, 't', 'o', 'o', 'l', 't', 'i', 'p', 0, 'D', 'i', 's', 'm', 'i', 's', 's', 0, 'H', 'a', 's', 'F', 'o', 'n', 't', 0, 'c', 'o', 'l', 'B', 'a', 'c', 'k', 0, 'c', 'o', 'l', 'T', 'e', 'x', 't', 0, 'C', 'a', 'n', 'U', 'n', 'd', 'o', 0, 'C', 'a', 'n', 'R', 'e', 'd', 'o', 0, 'C', 'a', 'n', 'C', 'o', 'p', 'y', 0, 'G', 'e', 't', 'N', 'e', 'x', 't', 0, 'G', 'e', 't', 'P', 'a', 'g', 'e', 0, 'c', 'h', 'o', 'i', 'c', 'e', 's', 0, 'u', 'n', 'i', 't', 'M', 'a', 'x', 0, 'u', 'n', 'i', 't', 'M', 'i', 'n', 0, 'v', 'a', 'r', 'i', 'a', 'n', 't', 0, 't', 'i', 'm', 'e', 'o', 'u', 't', 0, 'S', 'e', 't', 'R', 'e', 'c', 't', 0, 'G', 'e', 't', 'E', 'd', 'g', 'e', 0, 'S', 'e', 't', 'E', 'd', 'g', 'e', 0, 'S', 'e', 't', 'I', 'c', 'o', 'n', 0, 'S', 'e', 't', 'T', 'e', 'x', 't', 0, 'v', 'e', 'r', 's', 'i', 'o', 'n', 0, 'm', 'e', 's', 's', 'a', 'g', 'e', 0, 'S', 'e', 't', 'F', 'o', 'n', 't', 0, 'y', 'o', 'f', 'f', 's', 'e', 't', 0, 'x', 'o', 'f', 'f', 's', 'e', 't', 0, 'u', 's', 'e', 'M', 'a', 's', 'k', 0, 'D', 'r', 'a', 'w', 'A', 'r', 'c', 0, 'G', 'e', 't', 'R', 'e', 'c', 't', 0, 'G', 'e', 't', 'I', 'c', 'o', 'n', 0, 'S', 'e', 't', 'N', 'a', 'm', 'e', 0, 'G', 'e', 't', 'N', 'a', 'm', 'e', 0, 'G', 'e', 't', 'F', 'o', 'n', 't', 0, 'D', 'e', 's', 't', 'r', 'o', 'y', 0, 'w', 'x', '.', '_', 'a', 'd', 'v', 0, 'G', 'e', 't', 'L', 'e', 'n', 0, 'c', 'o', 'l', 'E', 'n', 'd', 0, 'H', 'a', 's', 'P', 'O', 'V', 0, 't', 'b', 'I', 'c', 'o', 'n', 0, 'a', 'r', 't', 'i', 's', 't', 0, 'c', 'l', 'i', 'e', 'n', 't', 0, 'v', 'i', 'e', 'w', 'e', 'r', 0, 'O', 'n', 'Q', 'u', 'i', 't', 0, 's', 't', 'a', 't', 'u', 's', 0, 'd', 'i', 'a', 'l', 'o', 'g', 0, 'C', 'a', 'n', 'C', 'u', 't', 0, 'r', 'o', 'w', 'M', 'a', 'x', 0, 'r', 'o', 'w', 'M', 'i', 'n', 0, 'A', 'p', 'p', 'e', 'n', 'd', 0, 'D', 'o', 'T', 'h', 'a', 'w', 0, 'I', 'n', 's', 'e', 'r', 't', 0, 'G', 'e', 't', 'T', 'i', 'p', 0, 'S', 'e', 't', 'U', 'R', 'L', 0, 'G', 'e', 't', 'U', 'R', 'L', 0, 'p', 'a', 'r', 'e', 'n', 't', 0, 'b', 'o', 'r', 'd', 'e', 'r', 0, 'e', 'n', 'a', 'b', 'l', 'e', 0, 'S', 'e', 't', 'P', 'e', 'n', 0, 'r', 'a', 'd', 'i', 'u', 's', 0, 'p', 'o', 'i', 'n', 't', 's', 0, 'r', 'e', 'g', 'i', 'o', 'n', 0, 'C', 'r', 'e', 'a', 't', 'e', 0, 'b', 'i', 't', 'm', 'a', 'p', 0, 's', 't', 'r', 'e', 'a', 'm', 0, 'c', 'o', 'l', 'u', 'm', 'n', 0, 'l', 'e', 'n', 'g', 't', 'h', 0, 'c', 'o', 'l', 'o', 'u', 'r', 0, 'h', 'e', 'i', 'g', 'h', 't', 0, 's', 'e', 'c', 'o', 'n', 'd', 0, 'f', 'i', 'r', 's', 't', 0, 'C', 'h', 'a', 'i', 'n', 0, 'S', 'W', '_', '3', 'D', 0, 'p', 'o', 'p', 'u', 'p', 0, 'c', 'o', 'l', 'B', 'g', 0, 'c', 'o', 'l', 'F', 'g', 0, 'l', 'a', 'b', 'e', 'l', 0, 's', 'i', 'z', 'e', 'r', 0, 'w', 'i', 'n', 'i', 'd', 0, 'C', 'l', 'o', 'n', 'e', 0, 'e', 'v', 'e', 'n', 't', 0, 'S', 'e', 't', 'I', 'd', 0, 't', 'i', 't', 'l', 'e', 0, 'f', 'r', 'a', 'm', 'e', 0, 'l', 'e', 'v', 'e', 'l', 0, 'c', 'h', 'i', 'l', 'd', 0, 's', 't', 'a', 'r', 't', 0, 'b', 'r', 'u', 's', 'h', 0, 's', 't', 'y', 'l', 'e', 0, 'C', 'l', 'e', 'a', 'r', 0, 'i', 'm', 'a', 'g', 'e', 0, 'C', 'l', 'o', 's', 'e', 0, 'w', 'i', 'd', 't', 'h', 0, 'c', 'o', 'u', 'n', 't', 0, 'f', 'l', 'a', 'g', 's', 0, 'v', 'a', 'l', 'u', 'e', 0, 'n', 'e', 'x', 't', 0, 'p', 'r', 'e', 'v', 0, 'a', 'n', 'i', 'm', 0, 'H', 'a', 's', 'Z', 0, 'H', 'a', 's', 'V', 0, 'H', 'a', 's', 'U', 0, 'a', 'x', 'i', 's', 0, 'm', 'a', 'r', 'k', 0, 'n', 'o', 't', 'e', 0, 'a', 't', 't', 'r', 0, 'u', 'n', 'i', 't', 0, 'i', 'n', 'c', 'H', 0, 'i', 'n', 'c', 'W', 0, 'm', 'a', 'x', 'H', 0, 'm', 'a', 'x', 'W', 0, 'm', 'i', 'n', 'H', 0, 'm', 'i', 'n', 'W', 0, 'S', 't', 'o', 'p', 0, 'm', 'e', 'n', 'u', 0, 'e', 'd', 'g', 'e', 0, 's', 'h', 'o', 'w', 0, 'L', 'o', 'a', 'd', 0, 'P', 'l', 'a', 'y', 0, 't', 'e', 'x', 't', 0, 'f', 'o', 'n', 't', 0, 'i', 'c', 'o', 'n', 0, 't', 'y', 'p', 'e', 0, 'f', 'i', 'l', 'e', 0, 'r', 'e', 'c', 't', 0, 'p', 'a', 'g', 'e', 0, 's', 'i', 'z', 'e', 0, 'm', 'o', 'd', 'e', 0, 'I', 's', 'O', 'k', 0, 'd', 'e', 's', 'c', 0, 't', 'i', 'm', 'e', 0, 'h', 'o', 'u', 'r', 0, 'm', 's', 'e', 'c', 0, 'i', 't', 'e', 'm', 0, 'i', 'n', 'f', 'o', 0, 'd', 'a', 't', 'a', 0, 'd', 't', '1', 0, 'i', 'd', 'x', 0, 'm', 's', 'g', 0, 'p', 't', '2', 0, 'p', 't', '1', 0, 'p', 'e', 'n', 0, 'b', 'm', 'p', 0, 'u', 'r', 'l', 0, 'c', 'o', 'l', 0, 'r', 'o', 'w', 0, 'd', 'i', 'r', 0, 'p', 'o', 's', 0, 'w', 'i', 'n', 0, 'd', 't', '2', 0, 'm', 'i', 'n', 0, 'w', 'd', 0, 'd', 'c', 0, 'y', '2', 0, 'x', '2', 0, 'y', '1', 0, 'x', '1', 0, 'y', 'c', 0, 'x', 'c', 0, 'b', 'g', 0, 'd', 'y', 0, 's', 'z', 0, 'p', 't', 0, 'd', 't', 0, 'i', 0, }; ///////////////////////////////////////////////////////////////////////////// // Name: src/pseudodc.cpp // Purpose: Implementation of the wxPseudoDC classes // Author: Paul Lanier // Modified by: Robin Dunn // // Created: 25-May-2006 // Copyright: (c) 2006-2018 Total Control Software // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // For compilers that support precompilation, includes "wx.h". //include "wx/wxprec.h" //#undef DEBUG // wxList based class definitions #include WX_DEFINE_LIST(pdcOpList); WX_DEFINE_LIST(pdcObjectList); //---------------------------------------------------------------------------- // Helper functions used for drawing greyed out versions of objects //---------------------------------------------------------------------------- wxColour &MakeColourGrey(const wxColour &c) { static wxColour rval; rval.Set(byte((230-c.Red())*0.7+c.Red()), byte((230-c.Green())*0.7+c.Green()), byte((230-c.Blue())*0.7+c.Blue())); return rval; } wxBrush &GetGreyBrush(wxBrush &brush) { static wxBrush b; wxColour c; b = brush; c = MakeColourGrey(brush.GetColour()); b.SetColour(c); return b; } wxPen &GetGreyPen(wxPen &pen) { static wxPen p; wxColour c; p = pen; c = MakeColourGrey(pen.GetColour()); p.SetColour(c); return p; } void GreyOutImage(wxImage &img) { unsigned char *data = img.GetData(); unsigned char r,g,b; unsigned char mr,mg,mb; int i, tst; int len = img.GetHeight()*img.GetWidth()*3; if (img.HasMask()) { mr = img.GetMaskRed(); mg = img.GetMaskGreen(); mb = img.GetMaskBlue(); } tst=0; for (i=0;ibegin(); iter != points->end(); iter++) { // The first * gives us a wxPoint ptr, second * dereferences that ptr m_points->push_back(new wxPoint(**iter)); } } pdcDrawLinesOp::~pdcDrawLinesOp() { m_points->clear(); delete m_points; m_points = NULL; } void pdcDrawLinesOp::Translate(wxCoord dx, wxCoord dy) { wxPointList::const_iterator iter; for (iter = m_points->begin(); iter != m_points->end(); iter++) { (*iter)->x += dx; (*iter)->y += dy; } } // ---------------------------------------------------------------------------- // pdcDrawPolygonOp // ---------------------------------------------------------------------------- pdcDrawPolygonOp::pdcDrawPolygonOp(const wxPointList* points, wxCoord xoffset, wxCoord yoffset, wxPolygonFillMode fillStyle) { m_xoffset = xoffset; m_yoffset = yoffset; m_fillStyle = fillStyle; m_points = new wxPointList; wxPointList::const_iterator iter; for (iter = points->begin(); iter != points->end(); ++iter) { // The first * gives us a wxPoint ptr, second * dereferences that ptr m_points->push_back(new wxPoint(**iter)); } } pdcDrawPolygonOp::~pdcDrawPolygonOp() { m_points->clear(); delete m_points; } void pdcDrawPolygonOp::Translate(wxCoord dx, wxCoord dy) { wxPointList::const_iterator iter; for (iter = m_points->begin(); iter != m_points->end(); iter++) { (*iter)->x += dx; (*iter)->y += dy; } } #if wxUSE_SPLINES // ---------------------------------------------------------------------------- // pdcDrawSplineOp // ---------------------------------------------------------------------------- pdcDrawSplineOp::pdcDrawSplineOp(const wxPointList* points) { m_points = new wxPointList; wxPointList::const_iterator iter; for (iter = points->begin(); iter != points->end(); iter++) { // The first * gives us a wxPoint ptr, second * dereferences that ptr m_points->push_back(new wxPoint(**iter)); } } pdcDrawSplineOp::~pdcDrawSplineOp() { m_points->clear(); delete m_points; } void pdcDrawSplineOp::Translate(wxCoord dx, wxCoord dy) { wxPointList::const_iterator iter; for (iter = m_points->begin(); iter != m_points->end(); iter++) { (*iter)->x += dx; (*iter)->y += dy; } } #endif // wxUSE_SPLINES // ============================================================================ // pdcObject implementation // ============================================================================ // ---------------------------------------------------------------------------- // DrawToDC - play back the op list to the DC // ---------------------------------------------------------------------------- void pdcObject::DrawToDC(wxDC *dc) { pdcOpList::compatibility_iterator node = m_oplist.GetFirst(); while(node) { node->GetData()->DrawToDC(dc, m_greyedout); node = node->GetNext(); } } // ---------------------------------------------------------------------------- // Translate - translate all the operations by some dx,dy // ---------------------------------------------------------------------------- void pdcObject::Translate(wxCoord dx, wxCoord dy) { pdcOpList::compatibility_iterator node = m_oplist.GetFirst(); while(node) { node->GetData()->Translate(dx,dy); node = node->GetNext(); } if (m_bounded) { m_bounds.x += dx; m_bounds.y += dy; } } // ---------------------------------------------------------------------------- // SetGreyedOut - set the greyout member and cache grey versions of everything // if greyout is true // ---------------------------------------------------------------------------- void pdcObject::SetGreyedOut(bool greyout) { m_greyedout=greyout; if (greyout) { pdcOpList::compatibility_iterator node = m_oplist.GetFirst(); pdcOp *obj; while(node) { obj = node->GetData(); obj->CacheGrey(); node = node->GetNext(); } } } // ============================================================================ // wxPseudoDC implementation // ============================================================================ // ---------------------------------------------------------------------------- // Destructor // ---------------------------------------------------------------------------- wxPseudoDC::~wxPseudoDC() { // delete all the nodes in the list RemoveAll(); } // ---------------------------------------------------------------------------- // ClearAll - remove all nodes from list // ---------------------------------------------------------------------------- void wxPseudoDC::RemoveAll(void) { m_objectlist.Clear(); m_objectIndex.clear(); m_currId = -1; m_lastObject = NULL; } // ---------------------------------------------------------------------------- // GetLen - return the number of operations in the current op list // ---------------------------------------------------------------------------- int wxPseudoDC::GetLen(void) { pdcObjectList::compatibility_iterator pt = m_objectlist.GetFirst(); int len=0; while (pt) { len += pt->GetData()->GetLen(); pt = pt->GetNext(); } return len; } // ---------------------------------------------------------------------------- // FindObject - find and return an object node by id. If node doesn't exist // and create is true then create one and return it. Otherwise // return NULL. // ---------------------------------------------------------------------------- pdcObject *wxPseudoDC::FindObject(int id, bool create) { // see if last operation was for same id //~ if (m_lastObject && m_lastObject->GetId() == id) //~ return m_lastObject; // if not then search for it pdcObjectHash::iterator lookup = m_objectIndex.find(id); if (lookup == m_objectIndex.end()) {//not found if (create) { m_lastObject = new pdcObject(id); m_objectlist.Append(m_lastObject); pdcObjectHash::value_type insert(id, m_lastObject); m_objectIndex.insert(insert); return m_lastObject; } else { return NULL; } } else { //found return lookup->second; } } // ---------------------------------------------------------------------------- // AddToList - Add a node to the list at the end (preserve draw order) // ---------------------------------------------------------------------------- void wxPseudoDC::AddToList(pdcOp *newOp) { pdcObject *obj = FindObject(m_currId, true); obj->AddOp(newOp); } // ---------------------------------------------------------------------------- // ClearID - remove all the operations associated with a single ID // ---------------------------------------------------------------------------- void wxPseudoDC::ClearId(int id) { pdcObject *obj = FindObject(id); if (obj) obj->Clear(); } // ---------------------------------------------------------------------------- // RemoveID - Remove the object node (and all operations) associated with an id // ---------------------------------------------------------------------------- void wxPseudoDC::RemoveId(int id) { pdcObject *obj = FindObject(id); if (obj) { if (m_lastObject == obj) m_lastObject = obj; m_objectlist.DeleteObject(obj); } m_objectIndex.erase(id); } // ---------------------------------------------------------------------------- // SetIdBounds - Set the bounding rect for a given id // ---------------------------------------------------------------------------- void wxPseudoDC::SetIdBounds(int id, wxRect& rect) { pdcObject *obj = FindObject(id, true); obj->SetBounds(rect); } // ---------------------------------------------------------------------------- // GetIdBounds - Get the bounding rect for a given id // ---------------------------------------------------------------------------- wxRect wxPseudoDC::GetIdBounds(int id) { wxRect rect; pdcObject *obj = FindObject(id); if (obj && obj->IsBounded()) rect = obj->GetBounds(); else rect.x = rect.y = rect.width = rect.height = 0; return rect; } // ---------------------------------------------------------------------------- // TranslateId - Translate all the operations of a single id // ---------------------------------------------------------------------------- void wxPseudoDC::TranslateId(int id, wxCoord dx, wxCoord dy) { pdcObject *obj = FindObject(id); if (obj) obj->Translate(dx,dy); } // ---------------------------------------------------------------------------- // DrawIdToDC - Draw a specific id to the dc passed in // ---------------------------------------------------------------------------- void wxPseudoDC::DrawIdToDC(int id, wxDC *dc) { pdcObject *obj = FindObject(id); if (obj) obj->DrawToDC(dc); } // ---------------------------------------------------------------------------- // SetIdGreyedOut - Set the greyedout member of id // ---------------------------------------------------------------------------- void wxPseudoDC::SetIdGreyedOut(int id, bool greyout) { pdcObject *obj = FindObject(id); if (obj) obj->SetGreyedOut(greyout); } // ---------------------------------------------------------------------------- // GetIdGreyedOut - Get the greyedout member of id // ---------------------------------------------------------------------------- bool wxPseudoDC::GetIdGreyedOut(int id) { pdcObject *obj = FindObject(id); if (obj) return obj->GetGreyedOut(); else return false; } // ---------------------------------------------------------------------------- // FindObjectsByBBox - Return a list of all the ids whose bounding boxes // contain (x,y) // ---------------------------------------------------------------------------- PyObject *wxPseudoDC::FindObjectsByBBox(wxCoord x, wxCoord y) { //wxPyBlock_t blocked = wxPyBeginBlockThreads(); pdcObjectList::compatibility_iterator pt = m_objectlist.GetFirst(); pdcObject *obj; PyObject* pyList = NULL; pyList = PyList_New(0); wxRect r; while (pt) { obj = pt->GetData(); r = obj->GetBounds(); if (obj->IsBounded() && r.Contains(x,y)) { PyObject* pyObj = wxPyInt_FromLong((long)obj->GetId()); PyList_Insert(pyList, 0, pyObj); Py_DECREF(pyObj); } pt = pt->GetNext(); } //wxPyEndBlockThreads(blocked); return pyList; } // ---------------------------------------------------------------------------- // FindObjects - Return a list of all the ids that draw to (x,y) // ---------------------------------------------------------------------------- PyObject *wxPseudoDC::FindObjects(wxCoord x, wxCoord y, wxCoord radius, const wxColor& bg) { //wxPyBlock_t blocked = wxPyBeginBlockThreads(); pdcObjectList::compatibility_iterator pt = m_objectlist.GetFirst(); pdcObject *obj; PyObject* pyList = NULL; pyList = PyList_New(0); wxBrush bgbrush(bg); wxPen bgpen(bg); // special case radius = 0 if (radius == 0) { wxBitmap bmp(4,4,24); wxMemoryDC memdc; wxColor pix; wxRect viewrect(x-2,y-2,4,4); // setup the memdc for rendering memdc.SelectObject(bmp); memdc.SetBackground(bgbrush); memdc.Clear(); memdc.SetDeviceOrigin(2-x,2-y); while (pt) { obj = pt->GetData(); if (obj->IsBounded() && obj->GetBounds().Contains(x,y)) { // start clean memdc.SetBrush(bgbrush); memdc.SetPen(bgpen); memdc.DrawRectangle(viewrect); // draw the object obj->DrawToDC(&memdc); memdc.GetPixel(x,y,&pix); // clear and update rgn2 if (pix != bg) { PyObject* pyObj = wxPyInt_FromLong((long)obj->GetId()); PyList_Insert(pyList, 0, pyObj); Py_DECREF(pyObj); } } pt = pt->GetNext(); } memdc.SelectObject(wxNullBitmap); } else { wxRect viewrect(x-radius,y-radius,2*radius,2*radius); wxBitmap maskbmp(2*radius,2*radius,24); wxMemoryDC maskdc; // create bitmap with circle for masking maskdc.SelectObject(maskbmp); maskdc.SetBackground(*wxBLACK_BRUSH); maskdc.Clear(); maskdc.SetBrush(*wxWHITE_BRUSH); maskdc.SetPen(*wxWHITE_PEN); maskdc.DrawCircle(radius,radius,radius); // now setup a memdc for rendering our object wxBitmap bmp(2*radius,2*radius,24); wxMemoryDC memdc; memdc.SelectObject(bmp); // set the origin so (x,y) is in the bmp center memdc.SetDeviceOrigin(radius-x,radius-y); // a region will be used to see if the result is empty wxRegion rgn2; while (pt) { obj = pt->GetData(); if (obj->IsBounded() && viewrect.Intersects(obj->GetBounds())) { // start clean //memdc.Clear(); memdc.SetBrush(bgbrush); memdc.SetPen(bgpen); memdc.DrawRectangle(viewrect); // draw the object obj->DrawToDC(&memdc); // remove background color memdc.SetLogicalFunction(wxXOR); memdc.SetBrush(bgbrush); memdc.SetPen(bgpen); memdc.DrawRectangle(viewrect); memdc.SetLogicalFunction(wxCOPY); memdc.Blit(x-radius,y-radius,2*radius,2*radius,&maskdc,0,0,wxCOPY); // clear and update rgn2 memdc.SelectObject(wxNullBitmap); rgn2.Clear(); rgn2.Union(bmp, *wxBLACK); //rgn2.Intersect(rgn); memdc.SelectObject(bmp); if (!rgn2.IsEmpty()) { PyObject* pyObj = wxPyInt_FromLong((long)obj->GetId()); PyList_Insert(pyList, 0, pyObj); Py_DECREF(pyObj); } } pt = pt->GetNext(); } maskdc.SelectObject(wxNullBitmap); memdc.SelectObject(wxNullBitmap); } //wxPyEndBlockThreads(blocked); return pyList; } // ---------------------------------------------------------------------------- // DrawToDCClipped - play back the op list to the DC but clip any objects // known to be not in rect. This is a coarse level of // clipping to speed things up when lots of objects are off // screen and doesn't affect the dc level clipping // ---------------------------------------------------------------------------- void wxPseudoDC::DrawToDCClipped(wxDC *dc, const wxRect& rect) { pdcObjectList::compatibility_iterator pt = m_objectlist.GetFirst(); pdcObject *obj; while (pt) { obj = pt->GetData(); if (!obj->IsBounded() || rect.Intersects(obj->GetBounds())) obj->DrawToDC(dc); pt = pt->GetNext(); } } void wxPseudoDC::DrawToDCClippedRgn(wxDC *dc, const wxRegion& region) { pdcObjectList::compatibility_iterator pt = m_objectlist.GetFirst(); pdcObject *obj; while (pt) { obj = pt->GetData(); if (!obj->IsBounded() || (region.Contains(obj->GetBounds()) != wxOutRegion)) obj->DrawToDC(dc); pt = pt->GetNext(); } } // ---------------------------------------------------------------------------- // DrawToDC - play back the op list to the DC // ---------------------------------------------------------------------------- void wxPseudoDC::DrawToDC(wxDC *dc) { pdcObjectList::compatibility_iterator pt = m_objectlist.GetFirst(); while (pt) { pt->GetData()->DrawToDC(dc); pt = pt->GetNext(); } } ::wxBookCtrlBase* sipVH__adv_60(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxBookCtrlBase* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxBookCtrlBase, &sipRes); return sipRes; } void sipVH__adv_59(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxSizer*sizer) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", sizer, sipType_wxSizer, SIP_NULLPTR); } bool sipVH__adv_58(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxWizardPage*page,bool goingForward) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "Db", page, sipType_wxWizardPage, SIP_NULLPTR, goingForward); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } void sipVH__adv_57(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxSize& sizePage) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "N", new ::wxSize(sizePage), sipType_wxSize, SIP_NULLPTR); } bool sipVH__adv_56(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxWizardPage*page) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "D", page, sipType_wxWizardPage, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } ::wxSizer* sipVH__adv_55(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxSizer* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxSizer, &sipRes); return sipRes; } void sipVH__adv_54(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxWizardPage*firstPage) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", const_cast< ::wxWizardPage *>(firstPage), sipType_wxWizardPage, SIP_NULLPTR); } ::wxWizardPage* sipVH__adv_53(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxWizardPage* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxWizardPage, &sipRes); return sipRes; } ::wxBitmap sipVH__adv_52(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxBitmap sipRes; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxBitmap, &sipRes); return sipRes; } ::wxCoord sipVH__adv_51(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, size_t item) { ::wxCoord sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "=", item); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "i", &sipRes); return sipRes; } void sipVH__adv_50(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxDC& dc,const ::wxRect& rect,int item,int flags) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "DNii", &dc, sipType_wxDC, SIP_NULLPTR, new ::wxRect(rect), sipType_wxRect, SIP_NULLPTR, item, flags); } int sipVH__adv_49(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { int sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "i", &sipRes); return sipRes; } void sipVH__adv_48(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int n) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "i", n); } int sipVH__adv_47(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxString& string,bool caseSensitive) { int sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "Nb", new ::wxString(string), sipType_wxString, SIP_NULLPTR, caseSensitive); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "i", &sipRes); return sipRes; } void sipVH__adv_46(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, uint n,const ::wxString& s) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "uN", n, new ::wxString(s), sipType_wxString, SIP_NULLPTR); } ::wxString sipVH__adv_45(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, uint n) { ::wxString sipRes; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "u", n); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxString, &sipRes); return sipRes; } bool sipVH__adv_44(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxKeyEvent& event) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new ::wxKeyEvent(event), sipType_wxKeyEvent, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } bool sipVH__adv_43(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxRect& rect,int flags) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "Ni", new ::wxRect(rect), sipType_wxRect, SIP_NULLPTR, flags); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } void sipVH__adv_42(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxComboPopup*popup) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", popup, sipType_wxComboPopup, SIP_NULLPTR); } void sipVH__adv_41(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxRect& rect,int flags) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "Ni", new ::wxRect(rect), sipType_wxRect, SIP_NULLPTR, flags); } ::wxStatusBar* sipVH__adv_40(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int number,long style, ::wxWindowID id,const ::wxString& name) { ::wxStatusBar* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "iliN", number, style, id, new ::wxString(name), sipType_wxString, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxStatusBar, &sipRes); return sipRes; } ::wxToolBar* sipVH__adv_39(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, long style, ::wxWindowID id,const ::wxString& name) { ::wxToolBar* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "liN", style, id, new ::wxString(name), sipType_wxString, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxToolBar, &sipRes); return sipRes; } bool sipVH__adv_38(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxString& name, ::wxAnimationType type) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "NF", new ::wxString(name), sipType_wxString, SIP_NULLPTR, type, sipType_wxAnimationType); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } bool sipVH__adv_37(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxInputStream& stream, ::wxAnimationType type) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "DF", &stream, sipType_wxInputStream, SIP_NULLPTR, type, sipType_wxAnimationType); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } uint sipVH__adv_36(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { uint sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "u", &sipRes); return sipRes; } ::wxImage sipVH__adv_35(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, uint i) { ::wxImage sipRes; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "u", i); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxImage, &sipRes); return sipRes; } int sipVH__adv_34(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, uint i) { int sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "u", i); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "i", &sipRes); return sipRes; } ::wxMenu* sipVH__adv_33(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxMenu* sipRes = 0; // VirtualCatcherCode for wxTaskBarIcon.CreatePopupMenu PyObject *sipResObj = sipCallMethod(0, sipMethod, ""); if (!sipResObj || sipParseResult(0, sipMethod, sipResObj, "H0", sipType_wxMenu, &sipRes) < 0) PyErr_Print(); if (sipRes) { sipTransferTo(sipResObj, Py_None); } Py_DECREF(sipMethod); SIP_RELEASE_GIL(sipGILState) return sipRes; } bool sipVH__adv_32(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxIcon& icon,const ::wxString& tooltip) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "NN", new ::wxIcon(icon), sipType_wxIcon, SIP_NULLPTR, new ::wxString(tooltip), sipType_wxString, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } bool sipVH__adv_31(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxMenu*menu) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "D", menu, sipType_wxMenu, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } ::wxString sipVH__adv_30(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxString& tip) { ::wxString sipRes; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new ::wxString(tip), sipType_wxString, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxString, &sipRes); return sipRes; } ::wxString sipVH__adv_29(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxString sipRes; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxString, &sipRes); return sipRes; } ::wxEventCategory sipVH__adv_28(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxEventCategory sipRes = ::wxEVT_CATEGORY_UI; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "F", sipType_wxEventCategory, &sipRes); return sipRes; } ::wxEvent* sipVH__adv_27(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxEvent* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H2", sipType_wxEvent, &sipRes); return sipRes; } ::wxBorder sipVH__adv_26(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxBorder sipRes = ::wxBORDER_DEFAULT; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "F", sipType_wxBorder, &sipRes); return sipRes; } void sipVH__adv_25(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxWindowVariant variant) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "F", variant, sipType_wxWindowVariant); } void sipVH__adv_24(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int x,int y,int width,int height) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "iiii", x, y, width, height); } ::wxSize sipVH__adv_23(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxSize sipRes; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxSize, &sipRes); return sipRes; } void sipVH__adv_22(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int minW,int minH,int maxW,int maxH,int incW,int incH) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "iiiiii", minW, minH, maxW, maxH, incW, incH); } void sipVH__adv_21(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int width,int height) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "ii", width, height); } void sipVH__adv_20(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int x,int y,int width,int height,int sizeFlags) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "iiiii", x, y, width, height, sizeFlags); } void sipVH__adv_19(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int*x,int*y) { PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "(ii)", x, y); } void sipVH__adv_18(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxValidator& validator) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", const_cast< ::wxValidator *>(&validator), sipType_wxValidator, SIP_NULLPTR); } ::wxValidator* sipVH__adv_17(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxValidator* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxValidator, &sipRes); return sipRes; } ::wxPoint sipVH__adv_16(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxPoint sipRes; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_wxPoint, &sipRes); return sipRes; } bool sipVH__adv_15(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int direction,int size,int availableOtherDir) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "iii", direction, size, availableOtherDir); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } void sipVH__adv_14(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, bool canFocus) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "b", canFocus); } bool sipVH__adv_13(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxEvent& event) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "D", &event, sipType_wxEvent, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } void sipVH__adv_12(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxWindowBase*child) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", child, sipType_wxWindowBase, SIP_NULLPTR); } bool sipVH__adv_11(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, long blockNo) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "l", blockNo); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } bool sipVH__adv_10(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, int sectionNo) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "i", sectionNo); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } bool sipVH__adv_9(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxString& text,const ::wxPoint& pos) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "NN", new ::wxString(text), sipType_wxString, SIP_NULLPTR, new ::wxPoint(pos), sipType_wxPoint, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } ::wxFrame* sipVH__adv_8(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxSize*size, ::wxPoint*pos,bool*newFrameEachTime) { ::wxFrame* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "DD", size, sipType_wxSize, SIP_NULLPTR, pos, sipType_wxPoint, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "(H0b)", sipType_wxFrame, &sipRes, newFrameEachTime); return sipRes; } ::wxWindow* sipVH__adv_7(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { ::wxWindow* sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H0", sipType_wxWindow, &sipRes); return sipRes; } bool sipVH__adv_6(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxString& k, ::wxHelpSearchMode mode) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "NF", new ::wxString(k), sipType_wxString, SIP_NULLPTR, mode, sipType_wxHelpSearchMode); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } bool sipVH__adv_5(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxString& file) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new ::wxString(file), sipType_wxString, SIP_NULLPTR); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } void sipVH__adv_4(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, ""); } bool sipVH__adv_3(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod) { bool sipRes = 0; PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, ""); sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes); return sipRes; } void sipVH__adv_2(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxString& titleFormat,const ::wxSize& size,const ::wxPoint& pos,bool newFrameEachTime) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "NNNb", new ::wxString(titleFormat), sipType_wxString, SIP_NULLPTR, new ::wxSize(size), sipType_wxSize, SIP_NULLPTR, new ::wxPoint(pos), sipType_wxPoint, SIP_NULLPTR, newFrameEachTime); } void sipVH__adv_1(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, ::wxWindow*parentWindow) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", parentWindow, sipType_wxWindow, SIP_NULLPTR); } void sipVH__adv_0(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const ::wxString& viewer,long flags) { sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "Nl", new ::wxString(viewer), sipType_wxString, SIP_NULLPTR, flags); } PyDoc_STRVAR(doc_ShowTip, "ShowTip(parent, tipProvider, showAtStartup=True) -> bool\n" "\n" "This function shows a \"startup tip\" to the user."); extern "C" {static PyObject *func_ShowTip(PyObject *,PyObject *, PyObject *);} static PyObject *func_ShowTip(PyObject *,PyObject *sipArgs, PyObject *sipKwds) { PyObject *sipParseErr = SIP_NULLPTR; { ::wxWindow* parent; ::wxTipProvider* tipProvider; bool showAtStartup = 1; static const char *sipKwdList[] = { sipName_parent, sipName_tipProvider, sipName_showAtStartup, }; if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J8J8|b", sipType_wxWindow, &parent, sipType_wxTipProvider, &tipProvider, &showAtStartup)) { bool sipRes; if (!wxPyCheckForApp()) return NULL; PyErr_Clear(); Py_BEGIN_ALLOW_THREADS sipRes = wxShowTip(parent,tipProvider,showAtStartup); Py_END_ALLOW_THREADS if (PyErr_Occurred()) return 0; return PyBool_FromLong(sipRes); } } /* Raise an exception if the arguments couldn't be parsed. */ sipNoFunction(sipParseErr, sipName_ShowTip, SIP_NULLPTR); return SIP_NULLPTR; } PyDoc_STRVAR(doc_CreateFileTipProvider, "CreateFileTipProvider(filename, currentTip) -> TipProvider\n" "\n" "This function creates a wxTipProvider which may be used with\n" "wxShowTip()."); extern "C" {static PyObject *func_CreateFileTipProvider(PyObject *,PyObject *, PyObject *);} static PyObject *func_CreateFileTipProvider(PyObject *,PyObject *sipArgs, PyObject *sipKwds) { PyObject *sipParseErr = SIP_NULLPTR; { const ::wxString* filename; int filenameState = 0; size_t currentTip; static const char *sipKwdList[] = { sipName_filename, sipName_currentTip, }; if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J1=", sipType_wxString,&filename, &filenameState, ¤tTip)) { ::wxTipProvider*sipRes; if (!wxPyCheckForApp()) return NULL; PyErr_Clear(); Py_BEGIN_ALLOW_THREADS sipRes = wxCreateFileTipProvider(*filename,currentTip); Py_END_ALLOW_THREADS sipReleaseType(const_cast< ::wxString *>(filename),sipType_wxString,filenameState); if (PyErr_Occurred()) return 0; return sipConvertFromNewType(sipRes,sipType_wxTipProvider,SIP_NULLPTR); } } /* Raise an exception if the arguments couldn't be parsed. */ sipNoFunction(sipParseErr, sipName_CreateFileTipProvider, SIP_NULLPTR); return SIP_NULLPTR; } PyDoc_STRVAR(doc_GenericAboutBox, "GenericAboutBox(info, parent=None)\n" "\n" "This function does the same thing as wxAboutBox() except that it\n" "always uses the generic wxWidgets version of the dialog instead of the\n" "native one."); extern "C" {static PyObject *func_GenericAboutBox(PyObject *,PyObject *, PyObject *);} static PyObject *func_GenericAboutBox(PyObject *,PyObject *sipArgs, PyObject *sipKwds) { PyObject *sipParseErr = SIP_NULLPTR; { const ::wxAboutDialogInfo* info; ::wxWindow* parent = 0; static const char *sipKwdList[] = { sipName_info, sipName_parent, }; if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J9|J8", sipType_wxAboutDialogInfo, &info, sipType_wxWindow, &parent)) { if (!wxPyCheckForApp()) return NULL; PyErr_Clear(); Py_BEGIN_ALLOW_THREADS wxGenericAboutBox(*info,parent); Py_END_ALLOW_THREADS if (PyErr_Occurred()) return 0; Py_INCREF(Py_None); return Py_None; } } /* Raise an exception if the arguments couldn't be parsed. */ sipNoFunction(sipParseErr, sipName_GenericAboutBox, SIP_NULLPTR); return SIP_NULLPTR; } PyDoc_STRVAR(doc_AboutBox, "AboutBox(info, parent=None)\n" "\n" "This function shows the standard about dialog containing the\n" "information specified in info."); extern "C" {static PyObject *func_AboutBox(PyObject *,PyObject *, PyObject *);} static PyObject *func_AboutBox(PyObject *,PyObject *sipArgs, PyObject *sipKwds) { PyObject *sipParseErr = SIP_NULLPTR; { const ::wxAboutDialogInfo* info; ::wxWindow* parent = 0; static const char *sipKwdList[] = { sipName_info, sipName_parent, }; if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J9|J8", sipType_wxAboutDialogInfo, &info, sipType_wxWindow, &parent)) { if (!wxPyCheckForApp()) return NULL; PyErr_Clear(); Py_BEGIN_ALLOW_THREADS wxAboutBox(*info,parent); Py_END_ALLOW_THREADS if (PyErr_Occurred()) return 0; Py_INCREF(Py_None); return Py_None; } } /* Raise an exception if the arguments couldn't be parsed. */ sipNoFunction(sipParseErr, sipName_AboutBox, SIP_NULLPTR); return SIP_NULLPTR; } static sipEnumTypeDef enumTypes[] = { {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxPropertySheetDialogFlags, {0}, 0}, sipNameNr_PropertySheetDialogFlags, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxTipKind, {0}, 0}, sipNameNr_TipKind, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxOwnerDrawnComboBoxPaintingFlags, {0}, 0}, sipNameNr_OwnerDrawnComboBoxPaintingFlags, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxLayoutAlignment, {0}, 0}, sipNameNr_LayoutAlignment, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxLayoutOrientation, {0}, 0}, sipNameNr_LayoutOrientation, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxSashDragStatus, {0}, 0}, sipNameNr_SashDragStatus, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxSashEdgePosition, {0}, 0}, sipNameNr_SashEdgePosition, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxAnimationType, {0}, 0}, sipNameNr_AnimationType, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxTaskBarIconType, {0}, 0}, sipNameNr_TaskBarIconType, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxCalendarHitTestResult, {0}, 0}, sipNameNr_CalendarHitTestResult, -1, SIP_NULLPTR}, {{-1, 0, 0, SIP_TYPE_ENUM, sipNameNr_wxCalendarDateBorder, {0}, 0}, sipNameNr_CalendarDateBorder, -1, SIP_NULLPTR}, }; /* These are the enum members of all global enums. */ static sipEnumMemberDef enummembers[] = { {sipName_ANIMATION_TYPE_ANI, static_cast(::wxANIMATION_TYPE_ANI), 3}, {sipName_ANIMATION_TYPE_ANY, static_cast(::wxANIMATION_TYPE_ANY), 3}, {sipName_ANIMATION_TYPE_GIF, static_cast(::wxANIMATION_TYPE_GIF), 3}, {sipName_ANIMATION_TYPE_INVALID, static_cast(::wxANIMATION_TYPE_INVALID), 3}, {sipName_CAL_BORDER_NONE, static_cast(::wxCAL_BORDER_NONE), 9}, {sipName_CAL_BORDER_ROUND, static_cast(::wxCAL_BORDER_ROUND), 9}, {sipName_CAL_BORDER_SQUARE, static_cast(::wxCAL_BORDER_SQUARE), 9}, {sipName_CAL_HITTEST_DAY, static_cast(::wxCAL_HITTEST_DAY), 11}, {sipName_CAL_HITTEST_DECMONTH, static_cast(::wxCAL_HITTEST_DECMONTH), 11}, {sipName_CAL_HITTEST_HEADER, static_cast(::wxCAL_HITTEST_HEADER), 11}, {sipName_CAL_HITTEST_INCMONTH, static_cast(::wxCAL_HITTEST_INCMONTH), 11}, {sipName_CAL_HITTEST_NOWHERE, static_cast(::wxCAL_HITTEST_NOWHERE), 11}, {sipName_CAL_HITTEST_SURROUNDING_WEEK, static_cast(::wxCAL_HITTEST_SURROUNDING_WEEK), 11}, {sipName_CAL_HITTEST_WEEK, static_cast(::wxCAL_HITTEST_WEEK), 11}, {sipName_LAYOUT_BOTTOM, static_cast(::wxLAYOUT_BOTTOM), 23}, {sipName_LAYOUT_HORIZONTAL, static_cast(::wxLAYOUT_HORIZONTAL), 24}, {sipName_LAYOUT_LEFT, static_cast(::wxLAYOUT_LEFT), 23}, {sipName_LAYOUT_NONE, static_cast(::wxLAYOUT_NONE), 23}, {sipName_LAYOUT_RIGHT, static_cast(::wxLAYOUT_RIGHT), 23}, {sipName_LAYOUT_TOP, static_cast(::wxLAYOUT_TOP), 23}, {sipName_LAYOUT_VERTICAL, static_cast(::wxLAYOUT_VERTICAL), 24}, {sipName_ODCB_PAINTING_CONTROL, static_cast(::wxODCB_PAINTING_CONTROL), 27}, {sipName_ODCB_PAINTING_SELECTED, static_cast(::wxODCB_PAINTING_SELECTED), 27}, {sipName_PROPSHEET_BUTTONTOOLBOOK, static_cast(::wxPROPSHEET_BUTTONTOOLBOOK), 29}, {sipName_PROPSHEET_CHOICEBOOK, static_cast(::wxPROPSHEET_CHOICEBOOK), 29}, {sipName_PROPSHEET_DEFAULT, static_cast(::wxPROPSHEET_DEFAULT), 29}, {sipName_PROPSHEET_LISTBOOK, static_cast(::wxPROPSHEET_LISTBOOK), 29}, {sipName_PROPSHEET_NOTEBOOK, static_cast(::wxPROPSHEET_NOTEBOOK), 29}, {sipName_PROPSHEET_SHRINKTOFIT, static_cast(::wxPROPSHEET_SHRINKTOFIT), 29}, {sipName_PROPSHEET_TOOLBOOK, static_cast(::wxPROPSHEET_TOOLBOOK), 29}, {sipName_PROPSHEET_TREEBOOK, static_cast(::wxPROPSHEET_TREEBOOK), 29}, {sipName_SASH_BOTTOM, static_cast(::wxSASH_BOTTOM), 34}, {sipName_SASH_LEFT, static_cast(::wxSASH_LEFT), 34}, {sipName_SASH_NONE, static_cast(::wxSASH_NONE), 34}, {sipName_SASH_RIGHT, static_cast(::wxSASH_RIGHT), 34}, {sipName_SASH_STATUS_OK, static_cast(::wxSASH_STATUS_OK), 33}, {sipName_SASH_STATUS_OUT_OF_RANGE, static_cast(::wxSASH_STATUS_OUT_OF_RANGE), 33}, {sipName_SASH_TOP, static_cast(::wxSASH_TOP), 34}, {sipName_TBI_CUSTOM_STATUSITEM, static_cast(::wxTBI_CUSTOM_STATUSITEM), 42}, {sipName_TBI_DEFAULT_TYPE, static_cast(::wxTBI_DEFAULT_TYPE), 42}, {sipName_TBI_DOCK, static_cast(::wxTBI_DOCK), 42}, {sipName_TipKind_Auto, static_cast(::wxTipKind_Auto), 44}, {sipName_TipKind_Bottom, static_cast(::wxTipKind_Bottom), 44}, {sipName_TipKind_BottomLeft, static_cast(::wxTipKind_BottomLeft), 44}, {sipName_TipKind_BottomRight, static_cast(::wxTipKind_BottomRight), 44}, {sipName_TipKind_None, static_cast(::wxTipKind_None), 44}, {sipName_TipKind_Top, static_cast(::wxTipKind_Top), 44}, {sipName_TipKind_TopLeft, static_cast(::wxTipKind_TopLeft), 44}, {sipName_TipKind_TopRight, static_cast(::wxTipKind_TopRight), 44}, }; /* * This defines each type in this module. */ sipTypeDef *sipExportedTypes__adv[] = { &sipTypeDef__adv_wxAboutDialogInfo.ctd_base, &sipTypeDef__adv_wxAnimation.ctd_base, &sipTypeDef__adv_wxAnimationCtrl.ctd_base, &enumTypes[7].etd_base, &sipTypeDef__adv_wxBannerWindow.ctd_base, &sipTypeDef__adv_wxBitmapComboBox.ctd_base, &sipTypeDef__adv_wxCalculateLayoutEvent.ctd_base, &sipTypeDef__adv_wxCalendarCtrl.ctd_base, &sipTypeDef__adv_wxCalendarDateAttr.ctd_base, &enumTypes[10].etd_base, &sipTypeDef__adv_wxCalendarEvent.ctd_base, &enumTypes[9].etd_base, &sipTypeDef__adv_wxCommandLinkButton.ctd_base, &sipTypeDef__adv_wxDateEvent.ctd_base, &sipTypeDef__adv_wxDatePickerCtrl.ctd_base, &sipTypeDef__adv_wxDatePickerCtrlGeneric.ctd_base, &sipTypeDef__adv_wxEditableListBox.ctd_base, &sipTypeDef__adv_wxExtHelpController.ctd_base, &sipTypeDef__adv_wxGenericCalendarCtrl.ctd_base, &sipTypeDef__adv_wxHyperlinkCtrl.ctd_base, &sipTypeDef__adv_wxHyperlinkEvent.ctd_base, &sipTypeDef__adv_wxJoystick.ctd_base, &sipTypeDef__adv_wxLayoutAlgorithm.ctd_base, &enumTypes[3].etd_base, &enumTypes[4].etd_base, &sipTypeDef__adv_wxNotificationMessage.ctd_base, &sipTypeDef__adv_wxOwnerDrawnComboBox.ctd_base, &enumTypes[2].etd_base, &sipTypeDef__adv_wxPropertySheetDialog.ctd_base, &enumTypes[0].etd_base, &sipTypeDef__adv_wxPseudoDC.ctd_base, &sipTypeDef__adv_wxQueryLayoutInfoEvent.ctd_base, &sipTypeDef__adv_wxRichToolTip.ctd_base, &enumTypes[5].etd_base, &enumTypes[6].etd_base, &sipTypeDef__adv_wxSashEvent.ctd_base, &sipTypeDef__adv_wxSashLayoutWindow.ctd_base, &sipTypeDef__adv_wxSashWindow.ctd_base, &sipTypeDef__adv_wxSound.ctd_base, &sipTypeDef__adv_wxSplashScreen.ctd_base, &sipTypeDef__adv_wxTaskBarIcon.ctd_base, &sipTypeDef__adv_wxTaskBarIconEvent.ctd_base, &enumTypes[8].etd_base, &sipTypeDef__adv_wxTimePickerCtrl.ctd_base, &enumTypes[1].etd_base, &sipTypeDef__adv_wxTipProvider.ctd_base, &sipTypeDef__adv_wxWizard.ctd_base, &sipTypeDef__adv_wxWizardEvent.ctd_base, &sipTypeDef__adv_wxWizardPage.ctd_base, &sipTypeDef__adv_wxWizardPageSimple.ctd_base, }; /* This defines the types that this module needs to import from _core. */ sipImportedTypeDef sipImportedTypes__adv__core[] = { {"wxAnyButton"}, {"wxArrayString"}, {"wxBitmap"}, {"wxBitmapButton"}, {"wxBookCtrlBase"}, {"wxBorder"}, {"wxBrush"}, {"wxButton"}, {"wxClientData"}, {"wxColour"}, {"wxComboCtrl"}, {"wxComboPopup"}, {"wxCommandEvent"}, {"wxControl"}, {"wxDC"}, {"wxDateTime"}, {"wxDateTime::WeekDay"}, {"wxDialog"}, {"wxDirection"}, {"wxEvent"}, {"wxEventCategory"}, {"wxEvtHandler"}, {"wxFloodFillStyle"}, {"wxFont"}, {"wxFrame"}, {"wxHelpControllerBase"}, {"wxHelpSearchMode"}, {"wxIcon"}, {"wxImage"}, {"wxInputStream"}, {"wxItemContainer"}, {"wxItemContainerImmutable"}, {"wxKeyEvent"}, {"wxListCtrl"}, {"wxMDIParentFrame"}, {"wxMenu"}, {"wxNonOwnedWindow"}, {"wxNotifyEvent"}, {"wxObject"}, {"wxPanel"}, {"wxPen"}, {"wxPoint"}, {"wxPointList"}, {"wxPolygonFillMode"}, {"wxPyBuffer"}, {"wxRasterOperationMode"}, {"wxRect"}, {"wxRegion"}, {"wxSize"}, {"wxSizer"}, {"wxStatusBar"}, {"wxString"}, {"wxTextEntry"}, {"wxToolBar"}, {"wxTopLevelWindow"}, {"wxTrackable"}, {"wxValidator"}, {"wxVisualAttributes"}, {"wxWindow"}, {"wxWindowBase"}, {"wxWindowVariant"}, {SIP_NULLPTR} }; /* This defines the modules that this module needs to import. */ static sipImportedModuleDef importsTable[] = { {"wx._core", sipImportedTypes__adv__core, SIP_NULLPTR, SIP_NULLPTR}, {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR} }; /* Define the strings to be added to this module dictionary. */ static sipStringInstanceDef stringInstances[] = { {sipName_AnimationCtrlNameStr, wxAnimationCtrlNameStr, 'N'}, {sipName_BannerWindowNameStr, wxBannerWindowNameStr, 'N'}, {sipName_BitmapComboBoxNameStr, wxBitmapComboBoxNameStr, 'N'}, {sipName_CalendarNameStr, wxCalendarNameStr, 'N'}, {sipName_EditableListBoxNameStr, wxEditableListBoxNameStr, 'N'}, {sipName_HyperlinkCtrlNameStr, wxHyperlinkCtrlNameStr, 'N'}, {0, 0, 0} }; /* Define the ints to be added to this module dictionary. */ static sipIntInstanceDef intInstances[] = { {sipName_AC_DEFAULT_STYLE, wxAC_DEFAULT_STYLE}, {sipName_AC_NO_AUTORESIZE, wxAC_NO_AUTORESIZE}, {sipName_EL_ALLOW_DELETE, wxEL_ALLOW_DELETE}, {sipName_EL_ALLOW_EDIT, wxEL_ALLOW_EDIT}, {sipName_EL_ALLOW_NEW, wxEL_ALLOW_NEW}, {sipName_EL_DEFAULT_STYLE, wxEL_DEFAULT_STYLE}, {sipName_EL_NO_REORDER, wxEL_NO_REORDER}, {sipName_HL_ALIGN_CENTRE, wxHL_ALIGN_CENTRE}, {sipName_HL_ALIGN_LEFT, wxHL_ALIGN_LEFT}, {sipName_HL_ALIGN_RIGHT, wxHL_ALIGN_RIGHT}, {sipName_HL_CONTEXTMENU, wxHL_CONTEXTMENU}, {sipName_HL_DEFAULT_STYLE, wxHL_DEFAULT_STYLE}, {sipName_SOUND_ASYNC, wxSOUND_ASYNC}, {sipName_SOUND_LOOP, wxSOUND_LOOP}, {sipName_SOUND_SYNC, wxSOUND_SYNC}, {sipName_SPLASH_CENTRE_ON_PARENT, wxSPLASH_CENTRE_ON_PARENT}, {sipName_SPLASH_CENTRE_ON_SCREEN, wxSPLASH_CENTRE_ON_SCREEN}, {sipName_SPLASH_NO_CENTRE, wxSPLASH_NO_CENTRE}, {sipName_SPLASH_NO_TIMEOUT, wxSPLASH_NO_TIMEOUT}, {sipName_SPLASH_TIMEOUT, wxSPLASH_TIMEOUT}, {sipName_SW_3D, wxSW_3D}, {sipName_SW_3DBORDER, wxSW_3DBORDER}, {sipName_SW_3DSASH, wxSW_3DSASH}, {sipName_SW_BORDER, wxSW_BORDER}, {sipName_SW_NOBORDER, wxSW_NOBORDER}, {sipName_USE_JOYSTICK, wxUSE_JOYSTICK}, {sipName_WIZARD_EX_HELPBUTTON, wxWIZARD_EX_HELPBUTTON}, {sipName_WIZARD_HALIGN_CENTRE, wxWIZARD_HALIGN_CENTRE}, {sipName_WIZARD_HALIGN_LEFT, wxWIZARD_HALIGN_LEFT}, {sipName_WIZARD_HALIGN_RIGHT, wxWIZARD_HALIGN_RIGHT}, {sipName_WIZARD_TILE, wxWIZARD_TILE}, {sipName_WIZARD_VALIGN_BOTTOM, wxWIZARD_VALIGN_BOTTOM}, {sipName_WIZARD_VALIGN_CENTRE, wxWIZARD_VALIGN_CENTRE}, {sipName_WIZARD_VALIGN_TOP, wxWIZARD_VALIGN_TOP}, {sipName_wxEVT_CALCULATE_LAYOUT, wxEVT_CALCULATE_LAYOUT}, {sipName_wxEVT_CALENDAR_DAY_CHANGED, wxEVT_CALENDAR_DAY_CHANGED}, {sipName_wxEVT_CALENDAR_DOUBLECLICKED, wxEVT_CALENDAR_DOUBLECLICKED}, {sipName_wxEVT_CALENDAR_MONTH_CHANGED, wxEVT_CALENDAR_MONTH_CHANGED}, {sipName_wxEVT_CALENDAR_PAGE_CHANGED, wxEVT_CALENDAR_PAGE_CHANGED}, {sipName_wxEVT_CALENDAR_SEL_CHANGED, wxEVT_CALENDAR_SEL_CHANGED}, {sipName_wxEVT_CALENDAR_WEEKDAY_CLICKED, wxEVT_CALENDAR_WEEKDAY_CLICKED}, {sipName_wxEVT_CALENDAR_WEEK_CLICKED, wxEVT_CALENDAR_WEEK_CLICKED}, {sipName_wxEVT_CALENDAR_YEAR_CHANGED, wxEVT_CALENDAR_YEAR_CHANGED}, {sipName_wxEVT_DATE_CHANGED, wxEVT_DATE_CHANGED}, {sipName_wxEVT_HYPERLINK, wxEVT_HYPERLINK}, {sipName_wxEVT_QUERY_LAYOUT_INFO, wxEVT_QUERY_LAYOUT_INFO}, {sipName_wxEVT_SASH_DRAGGED, wxEVT_SASH_DRAGGED}, {sipName_wxEVT_TASKBAR_BALLOON_CLICK, wxEVT_TASKBAR_BALLOON_CLICK}, {sipName_wxEVT_TASKBAR_BALLOON_TIMEOUT, wxEVT_TASKBAR_BALLOON_TIMEOUT}, {sipName_wxEVT_TASKBAR_CLICK, wxEVT_TASKBAR_CLICK}, {sipName_wxEVT_TASKBAR_LEFT_DCLICK, wxEVT_TASKBAR_LEFT_DCLICK}, {sipName_wxEVT_TASKBAR_LEFT_DOWN, wxEVT_TASKBAR_LEFT_DOWN}, {sipName_wxEVT_TASKBAR_LEFT_UP, wxEVT_TASKBAR_LEFT_UP}, {sipName_wxEVT_TASKBAR_MOVE, wxEVT_TASKBAR_MOVE}, {sipName_wxEVT_TASKBAR_RIGHT_DCLICK, wxEVT_TASKBAR_RIGHT_DCLICK}, {sipName_wxEVT_TASKBAR_RIGHT_DOWN, wxEVT_TASKBAR_RIGHT_DOWN}, {sipName_wxEVT_TASKBAR_RIGHT_UP, wxEVT_TASKBAR_RIGHT_UP}, {sipName_wxEVT_TIME_CHANGED, wxEVT_TIME_CHANGED}, {sipName_wxEVT_WIZARD_BEFORE_PAGE_CHANGED, wxEVT_WIZARD_BEFORE_PAGE_CHANGED}, {sipName_wxEVT_WIZARD_CANCEL, wxEVT_WIZARD_CANCEL}, {sipName_wxEVT_WIZARD_FINISHED, wxEVT_WIZARD_FINISHED}, {sipName_wxEVT_WIZARD_HELP, wxEVT_WIZARD_HELP}, {sipName_wxEVT_WIZARD_PAGE_CHANGED, wxEVT_WIZARD_PAGE_CHANGED}, {sipName_wxEVT_WIZARD_PAGE_CHANGING, wxEVT_WIZARD_PAGE_CHANGING}, {sipName_wxEVT_WIZARD_PAGE_SHOWN, wxEVT_WIZARD_PAGE_SHOWN}, {sipName_TP_DEFAULT, wxTP_DEFAULT}, {sipName_ODCB_DCLICK_CYCLES, wxODCB_DCLICK_CYCLES}, {sipName_ODCB_STD_CONTROL_PAINT, wxODCB_STD_CONTROL_PAINT}, {sipName_CAL_SUNDAY_FIRST, wxCAL_SUNDAY_FIRST}, {sipName_CAL_MONDAY_FIRST, wxCAL_MONDAY_FIRST}, {sipName_CAL_SHOW_HOLIDAYS, wxCAL_SHOW_HOLIDAYS}, {sipName_CAL_NO_YEAR_CHANGE, wxCAL_NO_YEAR_CHANGE}, {sipName_CAL_NO_MONTH_CHANGE, wxCAL_NO_MONTH_CHANGE}, {sipName_CAL_SEQUENTIAL_MONTH_SELECTION, wxCAL_SEQUENTIAL_MONTH_SELECTION}, {sipName_CAL_SHOW_SURROUNDING_WEEKS, wxCAL_SHOW_SURROUNDING_WEEKS}, {sipName_CAL_SHOW_WEEK_NUMBERS, wxCAL_SHOW_WEEK_NUMBERS}, {sipName_DP_DEFAULT, wxDP_DEFAULT}, {sipName_DP_SPIN, wxDP_SPIN}, {sipName_DP_DROPDOWN, wxDP_DROPDOWN}, {sipName_DP_SHOWCENTURY, wxDP_SHOWCENTURY}, {sipName_DP_ALLOWNONE, wxDP_ALLOWNONE}, {0, 0} }; /* This defines this module. */ sipExportedModuleDef sipModuleAPI__adv = { 0, SIP_API_MINOR_NR, sipNameNr_wx__adv, 0, sipStrings__adv, importsTable, SIP_NULLPTR, 50, sipExportedTypes__adv, SIP_NULLPTR, 49, enummembers, 0, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, stringInstances, intInstances, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR}, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR }; /* The SIP API and the APIs of any imported modules. */ const sipAPIDef *sipAPI__adv; /* The Python module initialisation function. */ #if PY_MAJOR_VERSION >= 3 #define SIP_MODULE_ENTRY PyInit__adv #define SIP_MODULE_TYPE PyObject * #define SIP_MODULE_DISCARD(r) Py_DECREF(r) #define SIP_MODULE_RETURN(r) return (r) #else #define SIP_MODULE_ENTRY init_adv #define SIP_MODULE_TYPE void #define SIP_MODULE_DISCARD(r) #define SIP_MODULE_RETURN(r) return #endif #if defined(SIP_STATIC_MODULE) extern "C" SIP_MODULE_TYPE SIP_MODULE_ENTRY() #else PyMODINIT_FUNC SIP_MODULE_ENTRY() #endif { static PyMethodDef sip_methods[] = { {SIP_MLNAME_CAST(sipName_ShowTip), SIP_MLMETH_CAST(func_ShowTip), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_ShowTip)}, {SIP_MLNAME_CAST(sipName_CreateFileTipProvider), SIP_MLMETH_CAST(func_CreateFileTipProvider), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_CreateFileTipProvider)}, {SIP_MLNAME_CAST(sipName_GenericAboutBox), SIP_MLMETH_CAST(func_GenericAboutBox), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_GenericAboutBox)}, {SIP_MLNAME_CAST(sipName_AboutBox), SIP_MLMETH_CAST(func_AboutBox), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_AboutBox)}, {SIP_NULLPTR, SIP_NULLPTR, 0, SIP_NULLPTR} }; #if PY_MAJOR_VERSION >= 3 static PyModuleDef sip_module_def = { PyModuleDef_HEAD_INIT, "wx._adv", SIP_NULLPTR, -1, sip_methods, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR }; #endif PyObject *sipModule, *sipModuleDict; PyObject *sip_sipmod, *sip_capiobj; /* Initialise the module and get it's dictionary. */ #if PY_MAJOR_VERSION >= 3 sipModule = PyModule_Create(&sip_module_def); #elif PY_VERSION_HEX >= 0x02050000 sipModule = Py_InitModule(sipName_wx__adv, sip_methods); #else sipModule = Py_InitModule(const_cast(sipName_wx__adv), sip_methods); #endif if (sipModule == SIP_NULLPTR) SIP_MODULE_RETURN(SIP_NULLPTR); sipModuleDict = PyModule_GetDict(sipModule); /* Get the SIP module's API. */ #if PY_VERSION_HEX >= 0x02050000 sip_sipmod = PyImport_ImportModule("wx.siplib"); #else sip_sipmod = PyImport_ImportModule(const_cast("wx.siplib")); #endif if (sip_sipmod == SIP_NULLPTR) { SIP_MODULE_DISCARD(sipModule); SIP_MODULE_RETURN(SIP_NULLPTR); } sip_capiobj = PyDict_GetItemString(PyModule_GetDict(sip_sipmod), "_C_API"); Py_DECREF(sip_sipmod); #if defined(SIP_USE_PYCAPSULE) if (sip_capiobj == SIP_NULLPTR || !PyCapsule_CheckExact(sip_capiobj)) #else if (sip_capiobj == SIP_NULLPTR || !PyCObject_Check(sip_capiobj)) #endif { SIP_MODULE_DISCARD(sipModule); SIP_MODULE_RETURN(SIP_NULLPTR); } #if defined(SIP_USE_PYCAPSULE) sipAPI__adv = reinterpret_cast(PyCapsule_GetPointer(sip_capiobj, "wx.siplib._C_API")); #else sipAPI__adv = reinterpret_cast(PyCObject_AsVoidPtr(sip_capiobj)); #endif #if defined(SIP_USE_PYCAPSULE) if (sipAPI__adv == SIP_NULLPTR) { SIP_MODULE_DISCARD(sipModule); SIP_MODULE_RETURN(SIP_NULLPTR); } #endif wxPyReinitializeModules(); /* Export the module and publish it's API. */ if (sipExportModule(&sipModuleAPI__adv,SIP_API_MAJOR_NR,SIP_API_MINOR_NR,0) < 0) { SIP_MODULE_DISCARD(sipModule); SIP_MODULE_RETURN(SIP_NULLPTR); } /* Initialise the module now all its dependencies have been set up. */ if (sipInitModule(&sipModuleAPI__adv,sipModuleDict) < 0) { SIP_MODULE_DISCARD(sipModule); SIP_MODULE_RETURN(SIP_NULLPTR); } /* * Define the class, mapped type and enum instances that have to be * added inline. */ sipAddTypeInstance(sipModuleDict,sipName_NullAnimation,& ::wxNullAnimation,sipType_wxAnimation); SIP_MODULE_RETURN(sipModule); }