_fn_params(internal_vars, sol_list):
            partial_c_fn = get_partial_params_c_fn(sol_list)
            def vjp_linear_fn(v_list):
                _, f_vjp = jax.vjp(partial_c_fn, internal_vars)
                val, = f_vjp(v_list)
                return val
            return vjp_linear_fn

        J = J_bc_func(sol, internal_vars)
        v_vec = jax.flatten_util.ravel_pytree(v)[0]
        adjoint_vec = __linear_solve_adjoint(J.transpose(), v_vec, adjoint_solver_options)
        sol_list = problem.unflatten_fn_sol_list(sol)
        vjp_linear_fn = get_vjp_contraint_fn_params(internal_vars, sol_list)
        vjp_result = vjp_linear_fn(problem.unflatten_fn_sol_list(adjoint_vec))
        vjp_result = jax.tree_util.tree_map(lambda x: -x, vjp_result)

        return (vjp_result, None)  # No gradient w.r.t. initial_guess

    differentiable_solve.defvjp(f_fwd, f_bwd)
    return differentiable_solve


dBy { it.number?.start }
    }

    private suspend fun getMoreBooks(id: YenPressSeriesId, nextOrd: Int): YenPressMoreBooksResponse {
        val document = ktor.get("$yenPressBaseUrl/series/get_more/${id.value}") {
            parameter("next_ord", nextOrd)
            header("x-requested-with", "XMLHttpRequest")
        }.bodyAsText()

        return parser.parseMoreBooksResponse(document)
    }

    suspend fun getBook(bookId: YenPressBookId): YenPressBook {
        val document = ktor.get("$yenPressBaseUrl/titles/${bookId.value}").bodyAsText()
        return parser.parseBook(document, bookId)
    }

    suspend fun getBookThumbnail(book: YenPressBook): Image? {
        return book.imageUrl?.let { url ->
            val bytes: ByteArray = ktor.get(url).body()
            Image(bytes)
        }
    }

    private suspend fun fetchSearchKey(): String {
        val document = ktor.get("$yenPressBaseUrl/search").bodyAsText()
        return parser.parseSearchKey(document)
    }

    private fun constructQueryPayloadFor(searchQuery: String): JsonObject {
        return buildJsonObject {
            put("query", searchQuery)

            putJsonObject("filters") {
                putJsonArray("all") {
                    add(buildJsonObject {
                        putJsonArray("all") {
                            add(buildJsonObject { put("type", "series") })
                        }
                    })

                }
            }
            put("precision", 2)

            putJsonObject("search_fields") {
                putJsonObject("title") {
                    put("weight", 10)
                }
            }
            putJsonObject("result_fields") {
                putJsonObject("title") {
                    putJsonObject("raw") {}
                }
                putJsonObject("url") {
                    putJsonObject("raw") {}
                }
                putJsonObject("image") {
                    putJsonObject("raw") {}
                }
            }

            putJsonObject("page") {
                put("size", 10)
                put("current", 1)
            }
        }
    }

}
package snd.komf.providers.kodansha

import io.ktor.client.*
import io.ktor.client.call.*
import io.ktor.client.request.*
import snd.komf.model.Image
import snd.komf.providers.kodansha.model.KodanshaBook
import snd.komf.providers.kodansha.model.KodanshaBookId
import snd.komf.providers.kodansha.model.KodanshaResponse
import snd.komf.providers.kodansha.model.KodanshaSearchResult
import snd.komf.providers.kodansha.model.KodanshaSeries
import snd.komf.providers.kodansha.model.KodanshaSeriesId

class KodanshaClient(private val ktor: HttpClient) {
    private val apiUrl = "https://api.kodansha.us"

    suspend fun search(name: String): KodanshaResponse<List<KodanshaSearchResult>> {
        return ktor.get("$apiUrl/search/V3") {
            parameter("query", name)
        }.body()
    }

    suspend fun getSeries(seriesId: KodanshaSeriesId): KodanshaResponse<KodanshaSeries> {
        return ktor.get("$apiUrl/series/V2/${seriesId.id}").body()
    }

    suspend fun getAllSeriesBooks(seriesId: KodanshaSeriesId): List<KodanshaBook> {
        return ktor.get("$apiUrl/product/forSeries/${seriesId.id}").body()
    }

    suspend fun getBook(bookId: KodanshaBookId): KodanshaResponse<KodanshaBook> {
        return ktor.get("$apiUrl/product/${bookId


         float simsq)
        {
          // Distance between source points
          const float dist_src = computeSquaredDistance ((*input_)[index_query_1], (*input_)[index_query_2]);
          // Distance between target points
          const float dist_tgt = computeSquaredDistance ((*target_)[index_match_1], (*target_)[index_match_2]);
          // Edge length similarity [0,1] where 1 is a perfect match
          const float edge_sim = (dist_src < dist_tgt ? dist_src / dist_tgt : dist_tgt / dist_src);

          return (edge_sim >= simsq);
        }

        /** \brief Compute a linear histogram. This function is equivalent to the MATLAB function \b histc, with the
          * edges set as follows: <b> lower:(upper-lower)/bins:upper </b>
          * \param data input samples
          * \param lower lower bound of input samples
          * \param upper upper bound of input samples
          * \param bins number of bins in output
          * \return linear histogram
          */
        std::vector<int>
        computeHistogram (const std::vector<float>& data, float lower, float upper, int bins);

        /** \brief Find the optimal value for binary histogram thresholding using Otsu's method
          * \param histogram input histogram
          * \return threshold value according to Otsu's criterion
          */
        int
        findThresholdOtsu (const std::vector<int>& histogram);

        /** \brief The input point cloud dataset */
        PointCloudSourceConstPtr input_;

        /** \brief The input point cloud dataset target */
        PointCloudTargetConstPtr target_;

        /** \brief Number of iterations to run */
        int iterations_;

        /** \brief The polygon cardinality used during rejection */
        int cardinality_;

        /** \brief Lower edge length threshold in [0,1] used for verifying polygon similarities, where 1 is a perfect match */
        float similarity_threshold_;

        /** \brief Squared value if \ref similarity_threshold_, only for internal use */
        float similarity_threshold_squared_;
    };
  }
}

#include <pcl/registration/impl/correspondence_rejection_poly.hpp>

#endif    // PCL_REGISTRATION_CORRESPONDENCE_REJECTION_POLY_H_


-> i32 {
    let mut mem = read_mem();
    let mut pc = 0;
    mem[1] = noun;
    mem[2] = verb;
    loop {
        let op: Intcode = Intcode::try_from(mem[pc]).unwrap();
        match op {
            Intcode::Add => {
                let (p_a, p_b, p_c) = (
                    mem[pc + 1] as usize,
                    mem[pc + 2] as usize,
                    mem[pc + 3] as usize,
                );
                mem[p_c] = mem[p_a] + mem[p_b];
                pc += 4;
            }
            Intcode::Mult => {
                let (p_a, p_b, p_c) = (
                    mem[pc + 1] as usize,
                    mem[pc + 2] as usize,
                    mem[pc + 3] as usize,
                );
                mem[p_c] = mem[p_a] * mem[p_b];
                pc += 4;
            }
            Intcode::Halt => {
                break;
            }
        }
    }
    mem[0]
}

fn p1() {
    println!("Part 1: {}", run(12, 2));
}

fn p2() {
    let tgt = 19690720;
    let mut noun = 0;
    let mut verb = 0;

    loop {
        if run(noun, verb) == tgt {
            println!("Part 2: {}", 100 * noun + verb);
            break;
        } else if run(noun + 1, verb) < tgt {
            noun += 1;
        } else {
            verb += 1;
        }
    }
}

fn main() {
    p1();
    p2();
}
use std::collections::HashMap;

use azizka_rust_i18n::Translator;
use serde::{Serialize, Deserialize};

use self::translations::{kz, ru, en};

pub mod components;
pub mod layouts;
pub mod pages;
pub mod translations;

#[derive(Clone, Serialize, Deserialize, Debug)]
pub struct State<'a> {
  pub default_language: &'a str,
  pub languages: HashMap<&'a str, LanguageInfo<'a>>
}

impl<'a> State<'a> {
  pub fn new() -> Self {
    State {
      default_language: "kz",
      languages: HashMap::from([
        ("kz", LanguageInfo {
          image: "/images/flags/kz.svg",
          label: "Қазақша",
          translator: Translator::create(&kz::get_data())
        }),
        ("ru", LanguageInfo {
          image: "/images/flags/ru.svg",
          label: "Русский",
          translator: Translator::create(&ru::get_data())
        }),
        ("en", LanguageInfo {
          image: "/images/flags/en.svg",
          label: "English",
          translator: Translator::create(&en::get_data())
        })
      ])
    }
  }
}

#[derive(Clone, Serialize, Deserialize, Debug)]
pub struct LanguageInfo<'a> {
  pub image: &'a str,
  pub label: &'a str,
  pub translator: Translator<'a>
}
<filename>src/vectors.rs<gh_stars>0
// Vectors - Resizable arrays

use std::mem;

pub fn run() {
    let mut numbers: Vec<i32> = vec!(1, 2, 3, 4, 5);

    println!("{:?}", numbers);

    // Re-assign a value
    numbers[2] = 20;
    println!("{:?}", numbers);

    // Add on to vector
    numbers.push(6);
    numbers.push(7);
    println!("{:?}", numbers);

    // Pop off last value
    numbers.pop();
    println!("{:?}", numbers);

    // Get single val
    println!("Single value: {}", numbers[0]);

    // Get vector length
    println!("Vector length: {}", numbers.len());

    // Vectors are stack allocated
    println!("Vector occupies {} bytes", mem::size_of_


= 107380,
			say = "Hmm... I still have my doubts about whether TB truly is an AI or not, but I can say with certainty that her systems and database access will be of significant strategic benefit.",
			typewriter = {
				speed = 0.05,
				speedUp = 0.01
			},
			painting = {
				alpha = 0.3,
				time = 1
			}
		},
		{
			actor = 1070


chip software.
 *
 * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES,
 * WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE,
 * INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY,
 * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE
 * LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
 * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE
 * SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE
 * POSSIBILITY OR THE DAMAGES ARE FORESEEABLE.  TO THE FULLEST EXTENT
 * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY
 * RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
 * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
 *
 * \asf_license_stop
 *
 */

/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
INCLUDES
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

#include "driver/include/m2m_periph.h"
#include "driver/source/nmasic.h"
#include "m2m_hif.h"

#ifdef CONF_PERIPH
/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
MACROS
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
#define GPIO_OP_DIR     0
#define GPIO_OP_SET     1
#define GPIO_OP_GET     2
/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
DATA TYPES
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/

/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
STATIC FUNCTIONS
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
/*
 * GPIO read/write skeleton with wakeup/sleep capability.
 */
static sint8 gpio_ioctl(uint8 op, uint8 u8GpioNum, uint8 u8InVal, uint8 * pu8OutVal)
{
    sint8 s8Ret = hif_chip_wake();
    if(s8Ret != M2M_SUCCESS) goto _EXIT;

    if(u8GpioNum >= M2M_PERIPH_GPIO_MAX) goto _EXIT1;

    if(op == GPIO_OP_DIR) {
        s8Ret = set_gpio_dir(u8GpioNum, u8InVal);
    } else if(op == GPIO_OP_SET) {
        s8Ret = set_gpio_val(u8GpioNum, u8InVal);
    } else if(op == GPIO_OP_GET) {
        s8Ret = get_gpio_val(u8GpioNum, pu8OutVal);
    }

_EXIT1:
    s8Ret = hif_chip_sleep();

_EXIT:
    return s8Ret;
}

/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
FUNCTION IMP


x 0px);
}

toolbarbutton[observes="Console:modeAll"]:hover,
toolbarbutton[observes="Console:modeAll"][checked="true"] {
  -moz-image-region: rect(24px 24px 48px 0px);
}

toolbarbutton[observes="Console:modeErrors"] {
  -moz-image-region: rect(0px 96px 24px 72px);
}

toolbarbutton[observes="Console:modeErrors"]:hover,
toolbarbutton[observes="Console:modeErrors"][checked="true"] {
  -moz-image-region: rect(24px 96px 48px 72px);
}

toolbarbutton[observes="Console:modeWarnings"] {
  -moz-image-region: rect(0px 72px 24px 48px);
}

toolbarbutton[observes="Console:modeWarnings"]:hover,
toolbarbutton[observes="Console:modeWarnings"][checked="true"] {
  -moz-image-region: rect(24px 72px 48px 48px);
}

toolbarbutton[observes="Console:modeMessages"] {
  -moz-image-region: rect(0px 48px 24px 24px);
}

toolbarbutton[observes="Console:modeMessages"]:hover,
toolbarbutton[observes="Console:modeMessages"][checked="true"] {
  -moz-image-region: rect(24px 48px 48px 24px);
}

toolbarbutton[observes="Console:clear"] {
  -moz-image-region: rect(0px 120px 24px 96px);
}

toolbarbutton[observes="Console:clear"]:hover,
toolbarbutton[observes="Console:clear"][checked="true"] {
  -moz-image-region: rect(24px 120px 48px 96px);
}

toolbar#ToolbarMode .toolbarbutton-icon {
  padding: 2px 0 !important;
}

toolbar#ToolbarMode .toolbarbutton-text {
  -moz-padding-end: 4px;
}

/* ::::: Fix Error Console toolbar button text spacing ::::: */

.toolbarbutton-text {
  -moz-padding-start: 0px;
  -moz-padding-end: 5px;
}
/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is Mozilla Help CSS.
 *
 * The Initial Developer of the Original Code is
 * R.J. Keller.
 * Portions created by the Initial Developer are Copyright (C) 2003
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under


v_add_f64_e64 v[0:1], v[2:3], abs(v[5:6])
// SICI: v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
// VI:   v_add_f64 v[0:1], v[2:3], |v[5:6]| ; encoding: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]

v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4
// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
// VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]

v_add_f64 v[0:1], -v[2:3], abs(v[5:6]) clamp mul:4
// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
// VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]

v_add_f64_e64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4
// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
// VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]

v_add_f64_e64 v[0:1], -v[2:3], abs(v[5:6]) clamp mul:4
// SICI: v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
// VI:   v_add_f64 v[0:1], -v[2:3], |v[5:6]| clamp mul:4 ; encoding: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]

v_div_scale_f64  v[24:25], vcc, v[22:23], v[22:23], v[20:21]
// SICI: v_div_scale_f64 v[24:25], vcc, v[22:23], v[22:23], v[20:21] ; encoding: [0x18,0x6a,0xdc,0xd2,0x16,0x2d,0x52,0x04]
// VI:   v_div_scale_f64


.done": rollout_data["done"][ep_ix, : num_frames - 1],
            "next.success": rollout_data["success"][ep_ix, : num_frames - 1],
            "next.reward": rollout_data["reward"][ep_ix, : num_frames - 1].type(torch.float32),
        }

        # For the last observation frame, all other keys will just be copy padded.
        for k in ep_dict:
            ep_dict[k] = torch.cat([ep_dict[k], ep_dict[k][-1:]])

        for key in rollout_data["observation"]:
            ep_dict[key] = rollout_data["observation"][key][ep_ix, :num_frames]

        ep_dicts.append(ep_dict)

    data_dict = {}
    for key in ep_dicts[0]:
        data_dict[key] = torch.cat([x[key] for x in ep_dicts])

    data_dict["index"] = torch.arange(start_data_index, start_data_index + total_frames, 1)

    return data_dict


0100FF */  lui     $at, 0x00FF                ## $at = 00FF0000
/* 00FB0 80AAE720 3421FFFF */  ori     $at, $at, 0xFFFF           ## $at = 00FFFFFF
/* 00FB4 80AAE724 00045100 */  sll     $t2, $a0,  4
/* 00FB8 80AAE728 000A5F02 */  srl     $t3, $t2, 28
/* 00FBC 80AAE72C 000B6080 */  sll     $t4, $t3,  2
/* 00FC0 80AAE730 01AC6821 */  addu    $t5, $t5, $t4
/* 00FC4 80AAE734 8DAD6FA8 */  lw      $t5, 0x6FA8($t5)           ## 80166FA8
/* 00FC8 80AAE738 00814824 */  and     $t1, $a0, $at
/* 00FCC 80AAE73C 3C018000 */  lui     $at, 0x8000                ## $at = 80000000
/* 00FD0 80AAE740 012D7021 */  addu    $t6, $t1, $t5
/* 00FD4 80AAE744 01C17821 */  addu    $t7, $t6, $at
/* 00FD8 80AAE748 AC6F0004 */  sw      $t7, 0x0004($v1)           ## 00000004
/* 00FDC 80AAE74C 3C1980AB */  lui     $t9, %hi(func_80AAEA10)    ## $t9 = 80AB0000
/* 00FE0 80AAE750 3C1880AB */  lui     $t8, %hi(func_80AAE97C)    ## $t8 = 80AB0000
/* 00FE4 80AAE754 9107014E */  lbu     $a3, 0x014E($t0)           ## 0000014E
/* 00FE8 80AAE758 8D06016C */  lw      $a2, 0x016C($t0)           ## 0000016C
/* 00FEC 80AAE75C 8D050150 */  lw      $a1, 0x0150($t0)           ## 00000150
/* 00FF0 80AAE760 2718E97C */  addiu   $t8, $t8, %lo(func_80AAE97C) ## $t8 = 80AAE97C
/* 00FF4 80AAE764 2739EA10 */  addiu   $t9, $t9, %lo(func_80AAEA10) ## $t9 = 80AAEA10
/* 00FF8 80AAE768 AFB90014 */  sw      $t9, 0x0014($sp)
/* 00FFC 80AAE76C AFB80010 */  sw      $t8, 0x0010($sp)
/* 01000 80AAE770 02202025 */  or      $a0, $s1, $zero            ## $a0 = 00000000
/* 01004 80AAE774 0C0286B2 */  jal     func_800A1AC8
/* 01008 80AAE778 AFA80018 */  sw      $t0, 0x0018($sp)
/* 0100C 80AAE77C 3C0A8016 */  lui     $t2, 0x8016                ## $t2 = 80160000
/* 01010 80AAE780 954AF556 */  lhu     $t2, -0x0AAA($t2)          ## 8015F556
/* 01014 80AAE784 3C010001 */  lui     $at, 0x0001                ## $at = 00010000
/* 01018 80AAE788 342117A4 */  ori     $at, $at, 0x17A4           ## $at = 000117A4
/* 0101C 80AAE78C 314B0800 */  andi    $t3, $t2, 0x0800           ## $t


500).pipe(take(3));

const click$ = fromEvent(document, 'click');
/*
click$.pipe(
    switchMap(() => interval$)
).subscribe(console.log);

 */

click$.pipe(
    exhaustMap(() => interval$)
).subscribe(console.log);

import { Injectable, OnInit } from '@angular/core';
import { Subject } from 'rxjs';

import { Day } from '../model/day.model';
import { Event } from '../model/event.model';

@Injectable({
    providedIn: 'root',
})

export class CalendarService implements OnInit {
    // Properties
    Days: Day[] = [];
    dayStream = new Subject<Day>();
    dayName = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];

    // Methods
    constructor() {
        var event1 = new Event(new Date('7/5/2018 18:00'), new Date('7/5/2018 19:20'), "Clean the house", "Clean within 5 minute", "red");
        var event2 = new Event(new Date('7/5/2018 2:00'), new Date('7/5/2018 9:20'), "Go to school", "Use my dad's car", "blue");
        var event3 = new Event(new Date('7/12/2018 18:00'), new Date('7/12/2018 19:20'), "Examination day", "", "green");

        this.Days.push(new Day(new Date('7/5/2018 18:00'), [event1, event2]));
        this.Days.push(new Day(new Date('7/12/2018 18:00'), [event3]));
    }

    ngOnInit() {
    }

    getMonthMatrix(month: number, year: number): Day[][] {
        var nDaysOfMonth = [31, (new Date(year, 2, 0)).getDate(), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
        var monthMatrix: Day[][] = [];
        for (var k = 0; k < 5; k++) {
            monthMatrix[k] = [];
        }
        var currentDate = new Date(year, month, 1);
        var firstDayOfMonth = currentDate.getDay();

        for (var i = 0; i < this.Days.length; i++) {
            var thisDate = this.Days[i].date.getDate();
            var thisMonth = this.Days[i].date.getMonth();
            var thisYear = this.Days[i].date.getFullYear();
            if (thisYear == year) {
                var x = this.Days[i].date.getDay();
                var y = Math.floor((this.Days[i].date.getDate() + firstDayOfMonth - 1) / 7);
                if ((thisMonth == month)
                    || (thisMonth == month - 1 && (thisDate - nDaysOfMonth[thisMonth] + firstDayOfMonth > 0))
                    || (thisMonth == month + 1 && (thisDate + nDaysOfMonth[thisMonth - 1] + firstDayOfMonth <= 35))) {

                    monthMatrix[y][x] = this.Days[i];
                }
            }
        }

        // Fill in the blanks in the matrix
        var tempDate = new Date(year, month, 1);
        if (firstDayOfMonth > 0) {
            if (month - 1 < 0) {
                month = 12;
                year--;
            }
            tempDate = new Date(year, month - 1, nDaysOfMonth[month - 1] - firstDayOfMonth + 1);
        }
        for (var i = 0; i < 5; i++) {
            for (var j = 0; j < 7; j++) {
                if (!monthMatrix[i][j]) {
                    monthMatrix[i][j] = new Day(new Date(tempDate), []);
                }
                tempDate.setDate(tempDate.getDate() + 1);
            }
        }

        return monthMatrix;
    }

    getDay() {
        return this.dayStream;
    }

    getDayName(date: Date): string {
        return this.dayName[date.getDay()];
    }
}export declare abstract class TransportApiRequest


0xa0,0xd2,0xff,0x05,0x02,0x00]

v_pack_b32_f16 v5, s1, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x04,0x02,0x00]

v_pack_b32_f16 v5, s101, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x65,0x04,0x02,0x00]

v_pack_b32_f16 v5, flat_scratch_lo, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x66,0x04,0x02,0x00]

v_pack_b32_f16 v5, flat_scratch_hi, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x67,0x04,0x02,0x00]

v_pack_b32_f16 v5, vcc_lo, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x6a,0x04,0x02,0x00]

v_pack_b32_f16 v5, vcc_hi, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x6b,0x04,0x02,0x00]

v_pack_b32_f16 v5, m0, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x7c,0x04,0x02,0x00]

v_pack_b32_f16 v5, exec_lo, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x7e,0x04,0x02,0x00]

v_pack_b32_f16 v5, exec_hi, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x7f,0x04,0x02,0x00]

v_pack_b32_f16 v5, 0, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0x80,0x04,0x02,0x00]

v_pack_b32_f16 v5, -1, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0xc1,0x04,0x02,0x00]

v_pack_b32_f16 v5, 0.5, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0xf0,0x04,0x02,0x00]

v_pack_b32_f16 v5, -4.0, v2
// CHECK: [0x05,0x00,0xa0,0xd2,0xf7,0x04,0x02,0x00]

v_pack_b32_f16 v5, v1, v255
// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xff,0x03,0x00]

v_pack_b32_f16 v5, v1, s2
// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x00,0x00]

v_pack_b32_f16 v5, v1, s101
// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xcb,0x00,0x00]

v_pack_b32_f16 v5, v1, flat_scratch_lo
// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0xcd,0x00


TEST_B( BL, REGIND(EBP) )
	JNZ( LLBL( x86_p4_3dm_skip ) )

	FLD_S( SRC(0) )			/* F4 */
	FMUL_S( MAT(0) )
	FLD_S( SRC(0) )			/* F5 F4 */
	FMUL_S( MAT(1) )
	FLD_S( SRC(0) )			/* F6 F5 F4 */
	FMUL_S( MAT(2) )

	FLD_S( SRC(1) )			/* F0 F6 F5 F4 */
	FMUL_S( MAT(4) )
	FLD_S( SRC(1) )			/* F1 F0 F6 F5 F4 */
	FMUL_S( MAT(5) )
	FLD_S( SRC(1) )			/* F2 F1 F0 F6 F5 F4 */
	FMUL_S( MAT(6) )

	FXCH( ST(2) )			/* F0 F1 F2 F6 F5 F4 */
	FADDP( ST(0), ST(5) )		/* F1 F2 F6 F5 F4 */
	FADDP( ST(0), ST(3) )		/* F2 F6 F5 F4 */
	FADDP( ST(0), ST(1) )		/* F6 F5 F4 */

	FLD_S( SRC(2) )			/* F0 F6 F5 F4 */
	FMUL_S( MAT(8) )
	FLD_S( SRC(2) )			/* F1 F0 F6 F5 F4 */
	FMUL_S( MAT(9) )
	FLD_S( SRC(2) )			/* F2 F1 F0 F6 F5 F4 */
	FMUL_S( MAT(10) )

	FXCH( ST(2) )			/* F0 F1 F2 F6 F5 F4 */
	FADDP( ST(0), ST(5) )		/* F1 F2 F6 F5 F4 */
	FADDP( ST(0), ST(3) )		/* F2 F6 F5 F4 */
	FADDP( ST(0), ST(1) )		/* F6 F5 F4 */

	FLD_S( SRC(3) )			/* F0 F6 F5 F4 */
	FMUL_S( MAT(12) )
	FLD_S( SRC(3) )			/* F1 F0 F6 F5 F4 */
	FMUL_S( MAT(13) )
	FLD_S( SRC(3) )			/* F2 F1 F0 F6 F5 F4 */
	FMUL_S( MAT(14) )

	FXCH( ST(2) )			/* F0 F1 F2 F6 F5 F4 */
	FADDP( ST(0), ST(5) )		/* F1 F2 F6 F5 F4 */
	FADDP( ST(0), ST(3) )		/* F2 F6 F5 F4 */
	FADDP( ST(0), ST(1) )		/* F6 F5 F4 */

	MOV_L( SRC(3), EAX )

	FXCH( ST(2) )			/* F4 F5 F6 */
	FSTP_S( DST(0) )		/* F5 F6 */
	FSTP_S( DST(1) )		/* F6 */
	FSTP_S( DST(2) )		/* */
	MOV_L( EAX, DST(3) )

LLBL( x86_p4_3dm_skip ):

	INC_L( EBP )
	ADD_L( CONST(16), EDI )
	ADD_L( ARG_SOURCE, ESI )
	CMP_L( ECX, EDI )
	JNE( LLBL( x86_p4_3dm_loop ) )

LLBL( x86_p4_3dm_done ):

	POP_L( EBP )
	POP_L( EBX )
	POP_L( EDI )


LexerTerminals.NEWLINE,
                 LexerTerminals.CARRIAGE_RETURN,
                 LexerTerminals.SPACE,
                 LexerTerminals.TAB,
                 LexerTerminals.SEMICOLON,
                 LexerTerminals.OPEN_BRACE,
                 LexerTerminals.CLOSE_BRACE,
                 LexerTerminals.OPEN_BRACKET,
                 LexerTerminals.CLOSE_BRACKET,
                 LexerTerminals.OPEN_PARANTHESIS,
                 LexerTerminals.CLOSE_PARANTHESIS -> true;
            default -> false;
        };
    }

    /**
     *

     * Check whether a given char is an identifier start char.
     *

     * IdentifierInitialChar := A .. Z | a .. z | _ | UnicodeIdentifierChar
     *
     * @param c character to check
     * @return true, if the character is an identifier start char. false otherwise.
     */
    private boolean isAlphabeticChar(int c) {
        return 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z';
    }

    /**
     *

     * Check whether a given char is an identifier following char.
     *

     * IdentifierFollowingChar := IdentifierInitialChar | Digit
     *
     * @param c character to check
     * @return true, if the character is an identifier following char. false otherwise.
     */
    private boolean isIdentifierFollowingChar(int c) {
        return isAlphabeticChar(c) || isValidNumericalDigit(c) || c == '-';
    }

    private static boolean isValidNumericalDigit(int c) {
        return c == '_' || isDigit(c);
    }

    /**
     *

     * Check whether a given char is a digit.
     *

     * Digit := 0..9
     *
     * @param c character to check
     * @return true, if the character represents a digit. false otherwise.
     */
    static boolean isDigit(int c) {
        return ('0' <= c && c <= '9');
    }

    /**
     *

     * Check whether a given char is a hexa digit.
     *

     * HexDigit := Digit | a .. f | A .. F
     *
     * @param c character to check
     * @return true, if the character represents a hex digit. false otherwise.
     */
    static boolean isHexDigit(int c) {
        if ('a' <= c && c <= 'f') {
            return true;
        }
        if ('A' <= c && c <= 'F') {
            return true;
        }
        return isValidNumericalDigit(c);
    }

    static boolean isOctalDigit(int c) {
        return c == '_' || ('0' <= c && c <= '7');
    }

    static boolean isBinaryDigit(int c) {
        return c == '0' || c == '1' || c == '_';
    }

    /**
     * Returns the next character from the reader, without consuming the stream.
     *
     * @return Next character
     */
    private int peek() {
        return this.reader.peek();
    }

    /**
     * Get the text associated with the current token.
     *
     * @return Text associated with the current token.
     */
    private String getLexeme() {
        return reader.getMarkedChars();
    }

    /**
     * Process string numeric escape.
     *

     * StringNumericEscape := \u00E9
     */
    private void processStringNumericEscape() {
        this.reader.advance(2);

        // Process code-point
        if (!isHexDigit(peek())) {
            reportLexerError(DiagnosticErrorCode.ERROR_INVALID_STRING_NUMERIC_ESCAPE_SEQUENCE);
            return;
        }

        reader


ustomLogLevel())
  test('get default log levels', () => {
    const actual = [
      toLogLevel('emergency'),
      toLogLevel('alert'),
      toLogLevel('critical'),
      toLogLevel('error'),
      toLogLevel('warn'),
      toLogLevel('notice'),
      toLogLevel('info'),
      toLogLevel('debug'),
      toLogLevel('trace'),
      toLogLevel('planck')
    ]
    expect(actual).toEqual([
      100, 200, 300, 400, 500, 600, 700, 800, 900, Infinity
    ])
  })

  test('get custom log level', () => {
    addCustomLogLevel('cust-get', 123)
    expect(toLogLevel('cust-get')).toBe(123)
  })

  test('case insensitive', () => {
    const actual = [
      toLogLevel('emerGency'),
      toLogLevel('aleRt'),
      toLogLevel('critIcal'),
      toLogLevel('errOr'),
      toLogLevel('warN'),
      toLogLevel('nOtice'),
      toLogLevel('iNfo'),
      toLogLevel('deBug'),
      toLogLevel('traCe'),
      toLogLevel('planCk')
    ]
    expect(actual).toEqual([
      100, 200, 300, 400, 500, 600, 700, 800, 900, Infinity
    ])
  })
})

describe('getAllLogLevels', () => {
  test('get all default log levels except none and all', () => {
    const actual = getAllLogLevels()
    forEachKey(logLevels, name => {
      if (name === 'none' || name === 'all') {
        expect(actual.find(x => x.name === name)).toBeUndefined()
      }
      else {
        expect(actual.find(x => x.name === name)).toEqual({ name, level: logLevels[name] })
      }
    })
  })
  test('include custom level (even if they have the same level value as one of the default level)', () => {
    addCustomLogLevel('info_a', 301)
    addCustomLogLevel('info_b', logLevels.info)
    const actual = getAllLogLevels()
    expect(actual.find(x => x.name === 'info_a')).toEqual({ name: 'info_a', level: 301 })
    expect(actual.find(x => x.name === 'info_b')).toEqual({ name: 'info_b', level: logLevels.info })
  })
})
import * as glob from 'glob';
import { basename, dirname, resolve as resolvePath } from 'path';
import { Client, ConnectConfig, SFTPWrapper } from 'ssh2';
import { promisify } from 'util';

export interface SimpleSSHDeployConfig {
    auth: {
        host: string;
        port?: number;
        username?: string;
        password?: string;
        [key: string]: any;
    };
    localFiles?: string | string[];
    remotePath?: string;
    preDeploy?: string[];
    postDeploy?: string[];
    silent?: boolean;
}

interface DeployFilePath {
    localPath: string;
    remotePath: string;
}

let logger: (string: string) => void;

export default function simpleSSHDeploy(config: SimpleSSHDeployConfig): Promise<void> {
    return new Promise((resolve, reject) => {
        if (!config.localFiles && (!config.preDeploy || config.preDeploy.length === 0) && (!config.postDeploy || config.postDeploy.length === 0)) {
            reject('No files to deploy or commands to execute');
            return;
        }

        if (config.localFiles) {
            if (typeof config.localFiles !== 'string' && !Array.isArray(config.localFiles)) {
                reject('localFiles config option must be a string or an array');
                return;


597,-1px 0 1px #a36597,0 1px 1px #a36597,1px 0 1px #a36597}.wc_untested_extensions_modal--content .actions a.button-primary:active,.wc_untested_extensions_modal--content .actions a.button-primary:focus,.wc_untested_extensions_modal--content .actions a.button-primary:hover{background:#a36597;border-color:#a36597;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #a36597}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}div.pp_woocommerce .pp_content_container{background:#fff;border-radius:3px;box-shadow:0 1px 30px rgba(0,0,0,.25);padding:20px 0}div.pp_woocommerce .pp_content_container::after,div.pp_woocommerce .pp_content_container::before{content:' ';display:table}div.pp_woocommerce .pp_content_container::after{clear:both}div.pp_woocommerce .pp_loaderIcon::before{height:1em;width:1em;display:block;position:absolute;top:50%;right:50%;margin-right:-.5em;margin-top:-.5em;content:'';-webkit-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}div.pp_woocommerce div.ppt{color:#000}div.pp_woocommerce .pp_gallery ul li a{border:1px solid rgba(0,0,0,.5);background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);border-radius:2px;display:block}div.pp_woocommerce .pp_gallery ul li a:hover{border-color:#000}div.pp_woocommerce .pp_gallery ul li.selected a{border-color:#000}div.pp_woocommerce .pp_next::before,div.pp_woocommerce .pp_previous::before{border-radius:100%;height:1em;width:1em;text-shadow:0 1px 2px rgba(0,0,0,.5);background-color:#444;color:#fff!important;font-size:16px!important;line-height:1em;-webkit-transition:all ease-in-out .2s;transition:all ease-in-out .2s;font-family:WooCommerce;content:'\e00b';text-indent:0;display:none;position:absolute;top:50%;margin-top:-10px;text-align:center}div.pp_woocommerce .pp_next::before:hover,div.pp_woocommerce .pp_previous::before:hover{background-color:#000}div.pp_woocommerce .pp_next:hover::before,div.pp_woocommerce .pp_previous:hover::before{


sc

.globl	OPENSSL_atomic_add
.type	OPENSSL_atomic_add,@function
.align	16
OPENSSL_atomic_add:
	l	%r1,0(%r2)
.Lspin:	lr	%r0,%r1
	ar	%r0,%r3
	cs	%r1,%r0,0(%r2)
	brc	4,.Lspin
	lgfr	%r2,%r0		# OpenSSL expects the new value
	br	%r14
.size	OPENSSL_atomic_add,.-OPENSSL_atomic_add

.globl	OPENSSL_wipe_cpu
.type	OPENSSL_wipe_cpu,@function
.align	16
OPENSSL_wipe_cpu:
	xgr	%r0,%r0
	xgr	%r1,%r1
	lgr	%r2,%r15
	xgr	%r3,%r3
	xgr	%r4,%r4
	lzdr	%f0
	lzdr	%f1
	lzdr	%f2
	lzdr	%f3
	lzdr	%f4
	lzdr	%f5
	lzdr	%f6
	lzdr	%f7
	br	%r14
.size	OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu

.globl	OPENSSL_cleanse
.type	OPENSSL_cleanse,@function
.align	16
OPENSSL_cleanse:
#if !defined(__s390x__) && !defined(__s390x)
	llgfr	%r3,%r3
#endif
	lghi	%r4,15
	lghi	%r0,0
	clgr	%r3,%r4
	jh	.Lot
	clgr	%r3,%r0
	bcr	8,%r14
.Little:
	stc	%r0,0(%r2)
	la	%r2,1(%r2)
	brctg	%r3,.Little
	br	%r14
.align	4
.Lot:	tmll	%r2,7
	jz	.Laligned
	stc	%r0,0(%r2)
	la	%r2,1(%r2)
	brctg	%r3,.Lot
.Laligned:
	srlg	%r4,%r3,3
.Loop:	stg	%r0,0(%r2)
	la	%r2,8(%r2)
	brctg	%r4,.Loop
	lghi	%r4,7
	ngr	%r3,%r4
	jnz	.Little
	br	%r14
.size	OPENSSL_cleanse,.-OPENSSL_cleanse

.section	.init
	brasl	%r14,OPENSSL_cpuid_setup

.comm	OPENSSL_s390xcap_P,80,8


_friend_game_block .game_capsule {
    right: auto;
    left: 0;
}

.home_friend_game_block .game_capsule a {
	position: relative;
	display: block;
	width: 120px;
	height: 45px;
}

.home_friend_game_block .game_capsule a.ds_flagged .ds_flag {
	top: 18px;
}

.home_friend_game_block .game_capsule a.ds_flagged:not(.ds_wishlist) img {
	opacity: 0.3;
}

.friend_activity .friend_block_text {
    display: block;
    position: absolute;
    width: 96px;
    top: 6px;
    left: 48px;
    font-size: 10px;
}

.ds_flag.ds_wishlist_flag {
	box-shadow: 0 0 6px 0 #000000;
}

/*
 * platforms
 */

span.platform_img {
	display: inline-block;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	fill: #FFFFFF;
}

span.platform_img.steamplay {
	width: 64px;
	background-image: url( '/public/images/v6/icon_steamplay.png' );
	padding-right: 5px;
}

span.platform_img.win {
	background-image: url( 'https://cdn.fastly.steamstatic.com/store/icons/icon_platform_win.svg' );
}

span.platform_img.mac {
	background-image: url( 'https://cdn.fastly.steamstatic.com/store/icons/icon_platform_mac.svg' );
}

span.platform_img.linux {
	background-image: url( 'https://cdn.fastly.steamstatic.com/store/icons/icon_platform_steamos.svg?v=2' );
}

span.platform_img.streamingvideo {
	background-image: url('/public/images/v6/icon_streamingvideo_v6.png');
}

span.platform_img.streamingvideoseries {
	background-image: url('/public/images/v6/icon_streamingvideoseries_v6.png');
}

span.platform_img.streaming360video {
	background-image: url('/public/images/v6/icon_streaming360video_v6.png');
}

span.platform_img.htcvive {
	background-image: url( '/public/images/v6/icon_platform_htcvive.png' );
}

span.platform_img.oculusrift {
	background-image: url( '/public/images/v6/icon_platform_oculusrift.png' );
}

span.platform_img.windowsmr {
	background-image: url( '/public/images/v6/icon_platform_windowsmr.png' );
}
span.platform_img.valveindex {
	background-image: url( '/public/images/v6/icon_platform_valveindex.png' );
	width: 26px;
}

span.platform_img.music {
	background-image: url( '/public/images/v6/icon_platform_music.png' );
}

span.vr_supported,
span.vr_required {
    vertical-align: top;
    line-height: 21px;
    font-size: 11px;
	color: white;
}

.hover_release span.platform_img.valveindex {
	background-image: url( '/public/images/v6/icon_platform_valveindex_dark.png' );
	width: 26px;
	height: 19px;
}

.hover_release span.platform_img.htcvive {
	background-image: url( '/public/images/v6/icon_platform


\002 \001(\0132M.google.cloud.dialogflow.v2.Huma"
          + "nAgentHandoffConfig.SalesforceLiveAgentConfigH\000\032/\n"
          + "\020LivePersonConfig\022\033\n"
          + "\016account_number\030\001 \001(\tB\003\340A\002\032\213\001\n"
          + "\031SalesforceLiveAgentConfig\022\034\n"
          + "\017organization_id\030\001 \001(\tB\003\340A\002\022\032\n\r"
          + "deployment_id\030\002 \001(\tB\003\340A\002\022\026\n"
          + "\tbutton_id\030\003 \001(\tB\003\340A\002\022\034\n"
          + "\017endpoint_domain\030\004 \001(\tB\003\340A\002B\017\n\r"
          + "agent_service\"\277\001\n"
          + "\022NotificationConfig\022\r"
          + "\n"
          + "\005topic\030\001 \001(\t\022T\n"
          + "\016message_format\030\002 \001(\0162<."
          + "google.cloud.dialogflow.v2.NotificationConfig.MessageFormat\"D\n\r"
          + "MessageFormat\022\036\n"
          + "\032MESSAGE_FORMAT_UNSPECIFIED\020\000\022\t\n"
          + "\005PROTO\020\001\022\010\n"
          + "\004JSON\020\002\"3\n\r"
          + "LoggingConfig\022\"\n"
          + "\032enable_stackdriver_logging\030\003 \001(\010\"\362\001\n"
          + "\021SuggestionFeature\022@\n"
          + "\004type\030\001"
          + " \001(\01622.google.cloud.dialogflow.v2.SuggestionFeature.Type\"\232\001\n"
          + "\004Type\022\024\n"
          + "\020TYPE_UNSPECIFIED\020\000\022\026\n"
          + "\022ARTICLE_SUGGESTION\020\001\022\007\n"
          + "\003FAQ\020\002\022\017\n"
          + "\013SMART_REPLY\020\003\022\036\n"
          + "\032CONVERSATION_SUMMARIZATION\020\010\022\024\n"
          + "\020KNOWLEDGE_SEARCH\020\016\022\024\n"
          + "\020KNOWLEDGE_ASSIST\020\017\"\212\002\n"
          + "!SetSuggestionFeatureConfigRequest\022!\n"
          + "\024conversation_profile\030\001 \001(\tB\003\340A\002\022K\n"
          + "\020participant_role\030\002"
          + " \001(\0162,.google.cloud.dialogflow.v2.Participant.RoleB\003\340A\002\022u\n"
          + "\031suggestion_feature_config\030\003 \001(\0132M.google.cloud.dialogflow.v"
          + "2.HumanAgentAssistantConfig.SuggestionFeatureConfigB\003\340A\002\"\357\001\n"
          + "#ClearSuggestionFeatureConfigRequest\022!\n"
          + "\024conversation_profile\030\001 \001(\tB\003\340A\002\022K\n"
          + "\020participant_role\030\002 \001(\0162,."
          + "google.cloud.dialogflow.v2.Participant.RoleB\003\340A\002\022X\n"
          + "\027suggestion_feature_type\030\003 \001("
          + "\01622.google.cloud.dialogflow.v2.SuggestionFeature.TypeB\003\340A\002\"\243\002\n"
          + "+SetSuggestionFeatureConfigOperationMetadata\022\034\n"
          + "\024conversation_profile\030\001 \001(\t\022K\n"
          + "\020participant_role\030\002 \001"


    top: calc(200px - 23px);
    width: 46px;
    height: 46px;
    border-radius: 100%;

}
.left .btn i{
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.right
{
    background-color: #fff;
    width: 0px;
    overflow: hidden;
    height: 100%;
    /**/

}

.right button{
    width: 90%;
    margin-top:5px;
    text-align: center;
    padding: 5px 10px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);

    border-radius: 5px;
    color: green;
    border: none;

	color:#fff;
	font-size: 12px;

}

.low button a{
	text-transform: uppercase;
	text-decoration: none;
	color: white;
	letter-spacing: 1px;
}

.low button:hover{
	background-color: rgb(15, 146, 253);
	border:1px solid white;
}
/* CSS Document */

body{
	background-color:grey;
}
.card{border:none;
background-color:rgb(95, 131, 160)}

@media (min-width: 300px) {
	  /* show 4 items */
	  .carousel-inner .active,
	  .carousel-inner .active + .carousel-item,
	  .carousel-inner .active + .carousel-item + .carousel-item
	 {
		    display: block;
			  text-align: center;
	}

	}

.carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),
  .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item,
 .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item
 {
	      transition: none;
}

.carousel-inner .carousel-item-next,
.carousel-inner .carousel-item-prev {
	    position: relative;
	    transform: translate3d(0, 0, 0);
}

/* left or forward direction */
.active.carousel-item-left + .carousel-item-next.carousel-item-left,
  .carousel-item-next.carousel-item-left + .carousel-item,
  .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item,
  .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item,
  .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
	      position: relative;
	      transform: translate3d(-100%, 0, 0);
	      visibility: visible;

}

/* farthest right hidden item must be absolue position for animations */

.carousel-inner .carousel-item-prev.carousel-item-right {
	position: absolute;
	    top: 0;
	    left: 0;
	    z-index: -1;
	    display: block;
	    visibility: visible;

}

/* right or prev direction */

.active.carousel-item-right + .carousel-item-prev.carousel-item-right,
  .carousel-item-prev.carousel-item-right + .carousel-item,
  .carousel-ite


: QueryParameter
 *

 *

 * Description: Class for query parameterization
 *

 *

 * Copyright: Copyright (c) 2008
 *

 *

 * Company: Clark & Parsia, LLC. <http://www.clarkparsia.com>
 *

 *
 * @author Markus Stocker
 */
public class QueryParameters
{

	private final Map<ATermAppl, ATermAppl> _parameters;

	public QueryParameters()
	{
		_parameters = new HashMap<>();
	}

	public void add(final ATermAppl key, final ATermAppl value)
	{
		_parameters.put(key, value);
	}

	public Set<Map.Entry<ATermAppl, ATermAppl>> entrySet()
	{
		return _parameters.entrySet();
	}

	public boolean cointains(final ATermAppl key)
	{
		return _parameters.containsKey(key);
	}

	public ATermAppl get(final ATermAppl key)
	{
		return _parameters.get(key);
	}

	@Override
	public String toString()
	{
		return _parameters.toString();
	}
}
// Copyright (c) 2006 - 2008, Clark & Parsia, LLC. <http://www.clarkparsia.com>
// This source code is available under the terms of the Affero General Public License v3.
//
// Please see LICENSE.txt for full license terms, including the availability of proprietary exceptions.
// Questions, comments, or requests for clarification: licensing@clarkparsia.com

package openllet.owlapi.explanation;

import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.semanticweb.owlapi.model.OWLAxiom;
import org.semanticweb.owlapi.model.OWLClass;
import org.semanticweb.owlapi.model.OWLClassExpression;
import org.semanticweb.owlapi.model.OWLObjectComplementOf;
import org.semanticweb.owlapi.model.OWLObjectIntersectionOf;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyChangeException;
import org.semanticweb.owlapi.model.OWLRuntimeException;

import com.clarkparsia.owlapi.explanation.SingleExplanationGeneratorImpl;
import com.clarkparsia.owlapi.explanation.util.DefinitionTracker;

import openllet.aterm.ATermAppl;
import openllet.core.OpenlletOptions;
import openllet.core.taxonomy.TaxonomyUtils;
import openllet.core.utils.Pair;
import openllet.core.utils.SetUtils;
import openllet.owlapi.AxiomConverter;
import openllet.owlapi.OWL;
import openllet.owlapi.OpenlletReasoner;
import openllet.owlapi.OpenlletReasonerFactory;
import openllet.owlapi.PelletReasoner;
import openllet.shared.tools.Log;

/**
 *

 * Title: GlassBoxExplanation
 *

 *

 * Description: Implementation of SingleExplanationGenerator interface using the axiom tracing facilities of Pellet.
 *

 *

 * Copyright: Copyright (c) 2007
 *

 *

 * Company: Clark & Parsia, LLC. <http://www.clarkparsia.com>
 *

 *
 * @author Evren Sirin
 */
public class GlassBoxExplanation extends SingleExplanationGeneratorImpl
{
	static
	{
		setup();
	}

	/**
	 * Very important initialization step that needs to be called once before a reasoner is created. this function will be called automatically when
	 * GlassBoxExplanation is loaded by the class loader.
	 */
	public static void setup()
	{
		//


ungna målen med blockchain är att återföra makten i händerna på folket. Vilken typ av makt och hur mycket skiljer sig beroende på vem du frågar, och själva designen av en blockkedja kommer att avgöra hur denna omfördelning kommer till. Det finns många verktyg som bidrar till att korrigera skillnaden, och vi skulle vilja diskutera ett som har stor effekt på hur ett projekt drivs, och den faktiska kraftomfördelningspotential det har: öppen källkod.';

  @override
  String get knowledge250Sbfoss250Sb0250Sbtitle => 'Makt till folket';

  @override
  String get knowledge250Sbfoss250Sb1250Sbtext => 'Ett gratis, öppen källkodsprogram (FOSS)-projekt är ett där koden är licensierad på ett sådant sätt att den är tillgänglig för visning, ändring, granskning och kopiering av alla och alla. Däremot är koden för proprietär programvara dold och hålls som en affärshemlighet som inte delas av rädsla för konkurrens som kopierar det hårda arbete som skaparen har betalat för eller gjort. Endast programmet som produceras i slutet släpps till allmänheten, inte koden.\n

\nFOSS-programvara har många fördelar jämfört med sina proprietära motsvarigheter, såsom potentiellt färre buggar (eftersom vem som helst är fri att granska koden), innovation (eftersom bidrag kan komma från var som helst när som helst) och bemyndigande av människor som kanske inte har råd eller på annat sätt använda de egna erbjudandena.\n

\nDetta gäller för vanliga FOSS-projekt, och blockchain är inget undantag. Utrymmet vimlar av samtal om programvara med öppen källkod, och proprietära plånbokserbjudanden möts av misstänksamhet och kritik från kryptovalutaveteraner. Trots att de flesta referensimplementeringar av de flesta större blockkedjor är öppen källkod, finns det några – som Monero – som går utöver och skiljer sig från mängden.';

  @override
  String get knowledge250Sbfoss250Sb1250Sbtitle => 'Programvara med öppen källkod';

  @override
  String get knowledge250Sbfoss250Sb2250Sbtext => 'Även om det är sant att de flesta projekt har öppen källkod, skulle det vara en otjänst för konceptets anda att inte gräva lite djupare för att se de verkliga anledningarna till varför öppen källkod är så kraftfull. Verkligheten är att licensiering med öppen källkod främjar öppet samarbete mellan människor från alla samhällsskikt och stadier av livet, med avsikten att skapa verktyg som behövs, är användbara och fördelaktiga för mänskligheten.\n

\nVissa kryptovalutor, medan koden så småningom släpps, har utveckling gjorts i hemlighet för att ligga steget före konkurrerande projekt. Även om dessa projekt kvalificerar sig som \"öppen källkodsprojekt\" eftersom deras kod så småningom släpps till allmänheten, görs den initiala utvecklingen fortfarande av ett fåtal utvalda, vilket leder till att många av de fördelar som öppen källkod annars skulle kunna ge förlust.\n

\nAndan i ett projekt med öppen


të majtë (RTL)","menu":"Redakto Nyjen","name":"Emër","noAnchors":"(Nuk ka asnjë spirancë në dokument)","noEmail":"Ju lutemi shkruani postën elektronike","noUrl":"Ju lutemi shkruani URL-në e nyjes","other":"<tjetër>","popupDependent":"E Varur (Netscape)","popupFeatures":"Karakteristikat e Dritares së Dialogut","popupFullScreen":"Ekran i Plotë  (IE)","popupLeft":"Pozita Majtas","popupLocationBar":"Shiriti i Lokacionit","popupMenuBar":"Shiriti i Menysë","popupResizable":"I ndryshueshëm","popupScrollBars":"Shiritat zvarritës","popupStatusBar":"Shiriti i Statutit","popupToolbar":"Shiriti i Mejteve","popupTop":"Top Pozita","rel":"Marrëdhëniet","selectAnchor":"Përzgjidh një Spirancë","styles":"Stil","tabIndex":"Indeksi i fletave","target":"Objektivi","targetFrame":"<frame>","targetFrameName":"Emri i Kornizës së Synuar","targetPopup":"<popup window>","targetPopupName":"Emri i Dritares së Dialogut","title":"Nyja","toAnchor":"Lidhu me spirancën në tekst","toEmail":"Posta Elektronike","toUrl":"URL","toolbar":"Nyja","type":"Lloji i Nyjes","unlink":"Largo Nyjen","upload":"Ngarko"},"list":{"bulletedlist":"Vendos/Largo Listën me Pika","numberedlist":"Vendos/Largo Listën me Numra"},"magicline":{"title":"Vendos paragraf këtu"},"maximize":{"maximize":"Zmadho","minimize":"Zvogëlo"},"pastetext":{"button":"Hidhe si tekst të thjeshtë","title":"Hidhe si Tekst të Thjeshtë"},"pastefromword":{"confirmCleanup":"Teksti që dëshironi të e hidhni siç duket është kopjuar nga Word-i. Dëshironi të e pastroni para se të e hidhni?","error":"Nuk ishte e mundur të fshiheshin të dhënat e hedhura për shkak të një gabimi të brendshëm","title":"Hidhe nga Word-i","toolbar":"Hidhe nga Word-i"},"removeformat":{"toolbar":"Largo Formatin"},"sourcearea":{"toolbar":"Burimi"},"specialchar":{"options":"Mundësitë për Karaktere Speciale","title":"Përzgjidh Karakter Special","toolbar":"Vendos Karakter Special"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stil","panelTitle":"Stilet e Formatimit","panelTitle1":"Stilet e Bllokut","panelTitle2":"Stili i Brendshëm","panelTitle3":"Stilet e Objektit"},"table":{"border":"Madhësia e kornizave","caption":"Titull","cell":{"menu":"Qeli","insertBefore":"Shto Qeli Para","insertAfter":"Shto Qeli Prapa","deleteCell":"Gris Qelitë","merge":"Bashko Qelitë","mergeRight":"Bashko Djathtas","mergeDown":"Bashko Poshtë","splitHorizontal":"Ndaj Qelinë Horizontalisht","splitVertical":"Ndaj Qelinë Vertikalisht","title":"Rekuizitat e Qelisë","cellType":"Lloji i Qelisë","rowSpan":"Bashko Rreshtat","colSpan":"Bashko Kolonat","wordWrap":"Fund i Fjalës","hAlign":"Bashkimi Horizontal","vAlign":"Bashkimi Vertikal","ali


r1 = EnvelopeHelper.buildGroupHeader(Common.HeaderType.CONFIG_UPDATE_VALUE, 0,
                "myGroup", 30);
//        assertArrayEquals(groupHeader1.toByteArray(), payload.getHeader().getGroupHeader().toByteArray());
//        assertEquals(groupHeader1.toByteArray().length, payload.getHeader().getGroupHeader().toByteArray().length);

        Common.GroupHeader groupHeader = Common.GroupHeader.parseFrom(payload.getHeader().getGroupHeader()
                .toByteArray());
        assertEquals(2, groupHeader.getType());
        assertEquals(0, groupHeader.getVersion());
        assertEquals("myGroup", groupHeader.getGroupId());
        assertEquals(30, groupHeader.getEpoch());
        assertNotNull(payload.getHeader().getSignatureHeader().toByteArray());

        Common.GroupHeader groupHeader2 = Common.GroupHeader.parseFrom(groupHeader1.toByteArray());
        assertEquals(2, groupHeader2.getType());
        assertEquals(0, groupHeader2.getVersion());
        assertEquals("myGroup", groupHeader2.getGroupId());
        assertEquals(30, groupHeader2.getEpoch());
        assertNotNull(payload.getHeader().getSignatureHeader().toByteArray());
    }

    @Test
    public void buildGroupHeader() {
        Common.GroupHeader groupHeader = EnvelopeHelper.buildGroupHeader(Common.HeaderType.CONFIG_UPDATE_VALUE, 0, "myGroup", 30);
        assertEquals(2, groupHeader.getType());
        assertEquals(0, groupHeader.getVersion());
        assertEquals("myGroup", groupHeader.getGroupId());
        assertEquals(30, groupHeader.getEpoch());
    }

    @Test
    public void nowTimestamp() {
        Timestamp timestamp = EnvelopeHelper.nowTimestamp();
        System.out.println(timestamp.getSeconds());
        System.out.println(timestamp.getNanos());
        assertEquals(System.currentTimeMillis() / 1000, timestamp.getSeconds());
    }
}/*
 * Copyright Dingxuan. All Rights Reserved.
 *

 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *

 * http://www.apache.org/licenses/LICENSE-2.0
 *

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.bcia.julongchain.core.smartcontract;

import com.google.protobuf.ByteString;
import org.bcia.julongchain.common.exception.LedgerException;
import org.bcia.julongchain.common.ledger.IResultsIterator;
import org.bcia.julongchain.core.common.sysscprovider.SmartContractInstance;
import org.bcia.julongchain.core.container.scintf.ISmartContractStream;
import org.bcia.julongchain.core.endorser.MockTxSimulator;
import org.bcia.julongchain.core.ledger.kvledger.txmgmt.statedb.QueryResult;
import org.bcia.julongchain.core.smartcontract.shim.fsm.Event;
import org.bcia.julongchain.core.smartcontract.shim.helper.Channel;
import org.bcia.julongchain.protos.node.SmartContractPackage;
import org.bcia.julongchain.protos.node.SmartContractShim;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import org.mockito.Mockito;
import org.mockito.Spy;
import org.mockito.junit.MockitoJ


/*
 * Copyright (C) 2015-2016 Freescale Semiconductor, Inc. All Rights Reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.

 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <linux/linkage.h>
#include "hardware.h"

#define DDRC_MSTR		0x0
#define DDRC_STAT		0x4
#define DDRC_MRCTRL0		0x10
#define DDRC_MRCTRL1		0x14
#define DDRC_MRSTAT		0x18
#define DDRC_PWRCTL		0x30
#define DDRC_RFSHCTL3		0x60
#define DDRC_RFSHTMG		0x64
#define DDRC_DBG1		0x304
#define DDRC_SWCTL		0x320
#define DDRC_SWSTAT		0x324
#define DDRC_PSTAT		0x3fc
#define DDRC_PCTRL_0		0x490
#define DDRC_ZQCTL0		0x180
#define DDRC_DFIMISC		0x1b0
#define DDRC_DBGCAM		0x308
#define DDRPHY_LP_CON0		0x18
#define IOMUXC_GPR8		0x20
#define DDRPHY_MDLL_CON0	0xb0
#define DDRPHY_MDLL_CON1	0xb4
#define DDRPHY_OFFSETD_CON0	0x50
#define DDRPHY_OFFSETR_CON0	0x20
#define DDRPHY_OFFSETR_CON1	0x24
#define DDRPHY_OFFSETR_CON2	0x28
#define DDRPHY_OFFSETW_CON0	0x30
#define DDRPHY_OFFSETW_CON1	0x34
#define DDRPHY_OFFSETW_CON2	0x38
#define DDRPHY_CA_WLDSKEW_CON0	0x6c
#define DDRPHY_CA_DSKEW_CON0	0x7c
#define DDRPHY_CA_DSKEW_CON1	0x80
#define DDRPHY_CA_DSKEW_CON2	0x84

#define ANADIG_DIGPROG		0x800

	.align 3

	.macro	switch_to_below_100m

	ldr	r7, =0x2
	str	r7, [r4, #DDRC_DBG1]

	ldr	r6, =0x36000000
1:
	ldr	r7, [r4, #DDRC_DBGCAM]
	and	r7, r7, r6
	cmp	r7, r6
	bne	1b

	ldr	r6, =0x1
2:
	ldr	r7, [r4, #DDRC_MRST


/*
 * Abilis Systems Single DVB-T Receiver
 * Copyright (C) 2008 Pierrick Hascoet <pierrick.hascoet@abilis.com>
 * Copyright (C) 2010 Devin Heitmueller <dheitmueller@kernellabs.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */
#ifndef _AS102_USB_DRV_H_
#define _AS102_USB_DRV_H_

#define AS102_USB_DEVICE_TX_CTRL_CMD	0xF1
#define AS102_USB_DEVICE_RX_CTRL_CMD	0xF2

/* define these values to match the supported devices */

/* Abilis system: "TITAN" */
#define AS102_REFERENCE_DESIGN		"Abilis Systems DVB-Titan"
#define AS102_USB_DEVICE_VENDOR_ID	0x1BA6
#define AS102_USB_DEVICE_PID_0001	0x0001

/* PCTV Systems: PCTV picoStick (74e) */
#define AS102_PCTV_74E			"PCTV Systems picoStick (74e)"
#define PCTV_74E_USB_VID		0x2013
#define PCTV_74E_USB_PID		0x0246

/* Elgato: EyeTV DTT Deluxe */
#define AS102_ELGATO_EYETV_DTT_NAME	"Elgato EyeTV DTT Deluxe"
#define ELGATO_EYETV_DTT_USB_VID	0x0fd9
#define ELGATO_EYETV_DTT_USB_PID	0x002c

/* nBox: nBox DVB-T Dongle */
#define AS102_NBOX_DVBT_DONGLE_NAME	"nBox DVB-T Dongle"
#define NBOX_DVBT_DONGLE_USB_VID	0x0b89
#define NBOX_DVBT_DONGLE_USB_PID	0x0007

/* Sky Italia: Digital Key (green led) */
#define AS102_SKY_IT_DIGITAL_KEY_NAME	"Sky IT Digital Key (green led)"
#define SKY_IT_DIGITAL_KEY_USB_VID	0x2137
#define SKY_IT_DIGITAL_KEY_USB_PID	0x0001

void as102_urb_stream_irq(struct urb *urb);

struct as10x_usb_token_cmd_t {
	/* token cmd */
	struct as10x_cmd_t c;
	/* token response */
	struct as10x_cmd_t r;
};
#endif


-overlay-transition,\n    opacity linear 0.25s\n  );\n  width: calc(\n    100vw + 30px\n  ); /* put back to just 100vw once overscroll bug fixed */\n  opacity: 0;\n  visibility: hidden;\n\n  overflow: auto;\n  overscroll-behavior: contain;\n}\n\n:host([open]) #fs {\n  opacity: var(--side-drawer-overlay-opacity, 0.7);\n  visibility: visible;\n}\n\n/*\n   * Workaround for bug https://bugs.chromium.org/p/chromium/issues/detail?id=813094\n   * Once bug is fixed and in the wild we can remove this element and make #if overflow:hidden\n   * and set "right: 0; width: 100vw" for #fs\n   */\n#ifs {\n  height: calc(100vh + 1px);\n}\n</style>\n
<slot></slot>
\n

\n';class FL extends HTMLElement{constructor(){super();const e=this.attachShadow({mode:"open"});e.appendChild(NL.content.cloneNode(!0)),this._freeSpaceDiv=e.getElementById("fs")}connectedCallback(){this._freeSpaceDiv&&this._freeSpaceDiv.addEventListener("click",this.handleFreeSpaceDivClick),this.upgradeProperty("open")}disconnectedCallback(){document.removeEventListener("keyup",this.handleKeyUp)}upgradeProperty(e){if(this.hasOwnProperty(e)){let t=this[e];delete this[e],this[e]=t}}handleKeyUp=e=>{if(!e.altKey&&"Escape"===e.key)e.preventDefault(),this.open=!1};get open(){return this.hasAttribute("open")}set open(e){e?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}static get observedAttributes(){return["open"]}attributeChangedCallback(e,t,n){"open"===e&&(this.open?(this.setAttribute("tabindex","0"),this.setAttribute("aria-disabled","false"),this.focus({preventScroll:!0}),document.addEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("open",{bubbles:!0}))):(this.setAttribute("tabindex","-1"),this.setAttribute("aria-disabled","true"),document.removeEventListener("keyup",this.handleKeyUp),this.dispatchEvent(new CustomEvent("close",{bubbles:!0}))))}handleFreeSpaceDivClick=()=>{this.open=!1}}customElements.define("side-drawer",FL);let BL=class extends oe{constructor(){super(...arguments),this.location="left",this.control=!0,this.open=!1,this.empty=!0,this._refDrawer=Te(),this._refSlot=Te(),this._resizeObserver=new ResizeObserver((()=>this._hideDrawerIfNecessary())),this._isHoverableDevice=od()}firstUpdated(e){super.firstUpdated(e);const t=document.createElement("style");t.innerHTML='/************\n * Managing z-indicies and stacking contexts is very challenging on the card,\n * due to the volume of different potentially overlapping surfaces. In\n * particular, care must be taken to not generate new stacking contexts\n * inadvertently which would make "z-index" weaving challenging (e.g. submenu\n * shown for PTZ presets, needs to render "over" the media drawer open/close\n * control).\n *************/\n:host {\n  width: unset;\n}\n\n#fs {\n  display: none;\n  width: 100%;\n  inset: 0;\n}\n\n#d,\n#fs {\n  height: 100%;\n  position: absolute;\n}\n\n#d {\n  overf


 inner class `LifecycleOwner version` {

    @Test
    fun `block should immediately execute if already created`() = testProvided {

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)

      var executed = false

      launch { lifecycleOwner.onNextCreate { executed = true } }

      executed shouldBe true
    }

    @Test
    fun `block should not immediately execute if lifecycle is not created`() = testProvided {

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)
      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)

      var executed = false

      val job = launch { lifecycleOwner.onNextCreate { executed = true } }

      executed shouldBe false

      job.cancelAndJoin()
    }

    @Test
    fun `block should stop when lifecycle is destroyed`() = testProvided {

      val input = Channel<Int>()
      val output = mutableListOf<Int>()
      var completed = false

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)

      launch {
        lifecycleOwner.onNextCreate {
          input.consumeAsFlow()
            .onCompletion { completed = true }
            .collect { output.add(it) }
        }
      }

      input.send(1)
      input.send(2)
      input.send(3)

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)

      output shouldBe listOf(1, 2, 3)
      completed shouldBe true
    }

    @Test
    fun `block should not execute twice when lifecycle is created twice`() = testProvided {

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)

      lifecycleOwner.onNextCreate { expect(1) }

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)

      expect(2)

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)

      finish(3)
    }

    @Test
    fun `block should return value if allowed to complete`() = testProvided {

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)

      val result = lifecycleOwner.onNextCreate { true }

      result shouldBe true
    }

    @Test
    fun `block should return null if not allowed to complete`() = testProvided {

      val lock = Mutex(locked = true)

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)

      val resultDeferred = async {
        lifecycleOwner.onNextCreate {
          lock.withLock {
            // unreachable
            true
          }
        }
      }

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY)

      resultDeferred.await() shouldBe null
    }

    @Test
    fun `block context should respect context parameter`() = testProvided {

      lifecycle.handleLifecycleEvent(Lifecycle.Event.ON_CREATE)

      var dispatcher: ContinuationInterceptor? = null

      lifecycleOwner.onNextCreate(ioDispatcher) {
        dispatcher = coroutineContext[ContinuationInterceptor]
      }

      dispatcher shouldBe ioDispatcher
    }
  }
}
/*
 * Copyright (C) 2022 Rick Busarow
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

plugins {
  `kotlin-dsl`
}

repositories {
  mavenCentral()
  google()
  maven("


c@s)dZddlZddlZddlZddlZddlmZdZdZdZ	dZ
dZd	Zd
Z
dZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdTZdUZdVZ dWZ!dXZ"dYZ#ej$r'dZd[d\d]fZ%eee"e#fZ&n$d^d_d`dafZ%ee ee!fZ&e'ge(e)e%D]#Z*e%e*D]Z+e+e*f^qoqaZ,d"dbd#YZ-e(de)e%>Z.ge.D]%Z/d$j0d%e1e%D^qZ2d&Z3e3e.Z4gZ5x]e.D]UZ/dZ6x9e(e)e%D]%Z7de7>e/@r)e6e&e7OZ6q)q)We5j8e6q
Wd'dcd(YZ9dddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzfZ:e9fde-fe)e:dZ;e'ge(e)e:D]#Z*e:e*D]Z+e+e*f^qqZ<ej=dBZ>ej=dCZ?dDZ@dEZAiZBdFZCeDdGkr%ejEZFeCejGeFZHeHjIdgdHZJeJdIeJdJeJdKeJdLeJdMeJdNeJdOeJdPeJdQeJdReJdSeFjKndS({s
MultiCall - a class which inherits its methods from a Tkinter widget (Text, for
example), but enables multiple calls of functions per virtual event - all
matching events will be called, not only the most specific one. This is done
by wrapping the event functions - event_add, event_delete and event_info.
MultiCall recognizes only a subset of legal event sequences. Sequences which
are not recognized are treated by the original Tk handling mechanism. A
more-specific event will be called before a less-specific event.

The recognized sequences are complete one-event sequences (no emacs-style
Ctrl-X Ctrl-C, no shortcuts like <3>), for all types of events.
Key/Button Press/Release events can have modifiers.
The recognized modifiers are Shift, Control, Option and Command for Mac, and
Control, Alt, Shift, Meta/M for other platforms.

For all events which were handled by MultiCall, a new member is added to the
event instance passed to the binded functions - mc_type. This is one of the
event type constants defined in this module (such as MC_KEYPRESS).
For Key/Button events (which are handled by MultiCall and may receive
modifiers), another member is added - mc_state. This member gives the state
of the recognized modifiers, as a combination of the modifier constants
also defined in this module (for example, MC_SHIFT).
Using these members is absolutely portable.

The order by which events are called is defined by these rules:
1. A more-specific event will be called before a less-specific event.
2. A recently-binded event will be called before a previously-binded event,
   unless this conflicts with the first rule.
Each function will be called at most once for each event.
iN(t
macosxSupportiiiiiiiiii	i
iii
iiiiiiiiitShifttControltOptiontCommandtAlttMetatMt
_SimpleBindercBs,eZdZdZdZdZRS(cCsJ||_dt|dd|_||_||_g|_d|_dS(Nt<it>(ttypet_typestsequencetwidgett
widgetinsttbindedfuncstNonet	handlerid(tselfRRR((sMultiCall.pyt__init__Fs				cCsV|jsB|j|jd}|jj|j|j||_n|jj|dS(NcSss||_i}x]tt|dddD]?}||}||kr,t||<||}|rk|Sq,q,WdS(Nii(tmc_typetrangetlentTrue(teventtlRt	wascalledtitfunctr((sMultiCall.pythandlerPs	#

(RRRRtbindRR
tappend(RttripletRR((sMultiCall.pyR Ns

cCsH|jj||jsD|jj|j|j|jd|_ndS(N(RtremoveRtunbindRR
RR(RR"R((sMultiCall.pyR$^s	cCs/|jr+|jj|j|j|jndS(N(RRR$RR
(R((sMultiCall.pyt__del__ds	(t__name__t
__module__RR R$R%(((sMultiCall.pyREs			tccs1|]'\}}d|>t@r|ddVqdS(ii


using System.Threading.Tasks;
using eShopOnContainers.Core.ViewModels.Base;
using System.Collections.ObjectModel;
using Xamarin.Forms;
using eShopOnContainers.Core.Models.Catalog;
using eShopOnContainers.Core.Services.Catalog;
using System.Windows.Input;
using eShopOnContainers.Core.Services.Basket;
using eShopOnContainers.Core.Services.User;

namespace eShopOnContainers.Core.ViewModels
{
    public class CatalogViewModel : ViewModelBase
    {
        private ObservableCollection<CatalogItem> _products;
        private ObservableCollection<CatalogBrand> _brands;
        private CatalogBrand _brand;
        private ObservableCollection<CatalogType> _types;
        private CatalogType _type;
        private ICatalogService _productsService;

        public CatalogViewModel(ICatalogService productsService)
        {
            _productsService = productsService;
        }

        public ObservableCollection<CatalogItem> Products
        {
            get { return _products; }
            set
            {
                _products = value;
                RaisePropertyChanged(() => Products);
            }
        }

        public ObservableCollection<CatalogBrand> Brands
        {
            get { return _brands; }
            set
            {
                _brands = value;
                RaisePropertyChanged(() => Brands);
            }
        }

        public CatalogBrand Brand
        {
            get { return _brand; }
            set
            {
                _brand = value;
                RaisePropertyChanged(() => Brand);
                RaisePropertyChanged(() => IsFilter);
            }
        }

        public ObservableCollection<CatalogType> Types
        {
            get { return _types; }
            set
            {
                _types = value;
                RaisePropertyChanged(() => Types);


 V2<V> = this.copy(interpolator = { ratio, a, b -> this.interpolator(easing(ratio.toDouble()).toRatio(), a, b) })

inline fun <V> V2<V>.delay(startTime: Duration) = delay(startTime.fast)
inline fun <V> V2<V>.duration(duration: Duration) = duration(duration.fast)

inline fun <V> V2<V>.delay(startTime: FastDuration) = this.copy(fastStartTime = startTime)
inline fun <V> V2<V>.duration(duration: FastDuration) = this.copy(fastDuration = duration)

inline fun <V> V2<V>.linear() = this
inline fun <V> V2<V>.smooth() = this.easing(Easing.SMOOTH)

inline fun <V> V2<V>.ease() = this.easing(Easing.EASE)
inline fun <V> V2<V>.easeIn() = this.easing(Easing.EASE_IN)
inline fun <V> V2<V>.easeOut() = this.easing(Easing.EASE_OUT)
inline fun <V> V2<V>.easeInOut() = this.easing(Easing.EASE_IN_OUT)

inline fun <V> V2<V>.easeInOld() = this.easing(Easing.EASE_IN_OLD)
inline fun <V> V2<V>.easeOutOld() = this.easing(Easing.EASE_OUT_OLD)
inline fun <V> V2<V>.easeInOutOld() = this.easing(Easing.EASE_IN_OUT_OLD)
inline fun <V> V2<V>.easeOutInOld() = this.easing(Easing.EASE_OUT_IN_OLD)

inline fun <V> V2<V>.easeInBack() = this.easing(Easing.EASE_IN_BACK)
inline fun <V> V2<V>.easeOutBack() = this.easing(Easing.EASE_OUT_BACK)
inline fun <V> V2<V>.easeInOutBack() = this.easing(Easing.EASE_IN_OUT_BACK)
inline fun <V> V2<V>.easeOutInBack() = this.easing(Easing.EASE_OUT_IN_BACK)

inline fun <V> V2<V>.easeInElastic() = this.easing(Easing.EASE_IN_ELASTIC)
inline fun <V> V2<V>.easeOutElastic() = this.easing(Easing.EASE_OUT_ELASTIC)
inline fun <V> V2<V>.easeInOutElastic() = this.easing(Easing.EASE_IN_OUT_ELASTIC)
inline fun <V> V2<V>.easeOutInElastic() = this.easing(Easing.EASE_OUT_IN_ELASTIC)

inline fun <V> V2<V>.easeInBounce() = this.easing(Easing.EASE_IN_BOUNCE)
inline fun <V> V2<V>.easeOutBounce() = this.easing(Easing.EASE_OUT_BOUNCE)
inline fun <V> V2<V>.easeInOutBounce() = this.easing(Easing.EASE_IN_OUT_BOUNCE)
inline fun <V> V2<V>.easeOutInBounce() = this.easing(Easing.EASE_OUT_IN_BOUNCE)

inline fun <V> V2<V>.easeInQuad() = this.easing(Easing.EASE_IN_QUAD)
inline fun <V> V2<V>.easeOutQuad() = this.easing(Easing.EASE_OUT_QUAD)
inline fun <V> V2<V>.easeInOutQuad() = this.easing(Easing.EASE_IN_OUT_QUAD)

inline fun <V> V2<V>.easeSine() = this.easing(Easing.EASE_SINE)

inline fun <V> V2<V>.easeClampStart() = this.easing(Easing.EASE_CLAMP_START)
inline fun <V> V2<V>.easeClampEnd() =


= 0; i < N; ++i) {
      list.add((i, i));
    }
    if (list[N ~/ 2].$1 != N ~/ 2) throw 'Bad result: ${list[N ~/ 2].$1}';
  }
}

class BenchListAddPolyClass extends BenchmarkBase {
  BenchListAddPolyClass() : super('RecordCollections.ListAddPoly.Class');

  @override
  void run() {
    final List<Object> list = getPolymorphicListOfClass(0, runtimeTrue, false);
    for (int i = 0; i < N; ++i) {
      list.add(Pair(i, i));
    }
    final int mid = (list[N ~/ 2] as Pair).v0;
    if (mid != N ~/ 2) throw 'Bad result: $mid';
  }
}

class BenchListAddPolyRecord extends BenchmarkBase {
  BenchListAddPolyRecord() : super('RecordCollections.ListAddPoly.Record');

  @override
  void run() {
    final List<Object> list = getPolymorphicListOfRecords(
      0,
      runtimeTrue,
      false,
    );
    for (int i = 0; i < N; ++i) {
      list.add((i, i));
    }
    final int mid = (list[N ~/ 2] as (int, int)).$1;
    if (mid != N ~/ 2) throw 'Bad result: $mid';
  }
}

class BenchListSetIndexedClass extends BenchmarkBase {
  BenchListSetIndexedClass() : super('RecordCollections.ListSetIndexed.Class');

  @override
  void run() {
    final list = List<Pair>.filled(N, const Pair(-1, -1), growable: false);
    for (int i = 0; i < N; ++i) {
      list[i] = Pair(i, i);
    }
    if (list[N ~/ 2].v0 != N ~/ 2) throw 'Bad result: ${list[N ~/ 2].v0}';
  }
}

class BenchListSetIndexedRecord extends BenchmarkBase {
  BenchListSetIndexedRecord()
    : super('RecordCollections.ListSetIndexed.Record');

  @override
  void run() {
    final list = List<(int, int)>.filled(N, (-1, -1), growable: false);
    for (int i = 0; i < N; ++i) {
      list[i] = (i, i);
    }
    if (list[N ~/ 2].$1 != N ~/ 2) throw 'Bad result: ${list[N ~/ 2].$1}';
  }
}

class BenchListSetIndexedPolyClass extends BenchmarkBase {
  BenchListSetIndexedPolyClass()
    : super('RecordCollections.ListSetIndexedPoly.Class');

  @override
  void run() {
    final List<Object> list = getPolymorphicListOfClass(N, !runtimeTrue, false);
    for (int i = 0; i < N; ++i) {
      list[i] = Pair(i, i);
    }
    final int mid = (list[N ~/ 2] as Pair).v0;
    if (mid != N ~/ 2) throw 'Bad result: $mid';
  }
}

class BenchListSetIndexedPolyRecord extends BenchmarkBase {
  BenchListSetIndexedPolyRecord()
    : super('RecordCollections.ListSetIndexedPoly.Record');

  @override
  void run() {
    final List<Object> list = getPolymorphicListOfRecords(
      N,
      !runtimeTrue,
      false,
    );
    for (int i = 0; i < N; ++i) {
      list[i] = (i, i);
    }
    final int mid = (list[N ~/ 2] as (int, int)).$1;
    if (mid != N ~/ 2) throw 'Bad result: $mid';
  }
}

class BenchListGetIndexedClass extends BenchmarkBase {
  BenchListGetIndexedClass() : super('RecordCollections.ListGetIndexed.Class');

  final list = <Pair>[


 user change any field, if YES then we need to verify him in some cases
        },
        response: {
            meta: {
                server_time: "int timestamp millis",
            },
            data: {
                status_code: "int",
            },
        },

    },
    {
        name: "delete_user_info",
        method: "DELETE",
        address: "/user/{user_name}",
        request: {
            credentials: "SessionCertificate",
            data: UserData, // What we can delete??
        },
        response: {
            meta: {
                server_time: "int timestamp millis",
            },
            data: {
                status_code: "int",
            },
        },

    },
]import { CarAdminEntity } from "../types";
import mdbid from "mdbid";
import { CarAdmin } from "../entities";
import CarAdminsResolver from "./CarAdminsResolver";

/**
 * Contains base `createCarAdmin`, `updateCarAdmin`, and `deleteCarAdmin` GraphQL resolver functions.
 * Feel free to adjust the code to your needs. Also, note that at some point in time, you will
 * most probably want to implement custom data validation and security-related checks.
 * https://www.webiny.com/docs/how-to-guides/webiny-cli/scaffolding/extend-graphql-api#essential-files
 */

interface CreateCarAdminParams {
    data: {
        title: string;
        description?: string;
    };
}

interface UpdateCarAdminParams {
    id: string;
    data: {
        title: string;
        description?: string;
    };
}

interface DeleteCarAdminParams {
    id: string;
}

interface CarAdminsMutation {
    createCarAdmin(params: CreateCarAdminParams): Promise<CarAdminEntity>;
    updateCarAdmin(params: UpdateCarAdminParams): Promise<CarAdminEntity>;
    deleteCarAdmin(params: DeleteCarAdminParams): Promise<CarAdminEntity>;
}

/**
 * To define our GraphQL resolvers, we are using the "class method resolvers" approach.
 * https://www.graphql-tools.com/docs/resolvers#class-method-resolvers
 */
export default class CarAdminsMutationResolver extends CarAdminsResolver
    implements CarAdminsMutation {
    /**
     * Creates and returns a new CarAdmin entry.
     * @param data
     */
    async createCarAdmin({ data }: CreateCarAdminParams) {
        const { security } = this.context;

        // We use `mdbid` (https://www.npmjs.com/package/mdbid) library to generate
        // a random, unique, and sequential (sortable) ID for our new entry.
        const id = mdbid();

        const identity = await security.getIdentity();
        const carAdmin = {
            ...data,
            PK: this.getPK(),
            SK: id,
            id,
            createdOn: new Date().toISOString(),
            savedOn: new Date().toISOString(),
            createdBy: identity && {
                id: identity.id,
                type: identity.type,
                displayName: identity.displayName
            },
            webinyVersion: process.env.WEBINY_VERSION
        };

        // Will throw an error if something goes wrong.
        await CarAdmin.put(carAdmin);

        return carAdmin;
    }

    /**
     * Updates and returns an existing CarAdmin entry.
     * @param id
     * @param data
     */
    async updateCarAdmin({ id, data }: UpdateCarAdminParams) {
        // If entry is not found, we throw an error.
        c


Quest(JEUNO, tpz.quest.id.jeuno.STORMS_OF_FATE)
        player:setCharVar('StormsOfFate', 0)
        player:setCharVar("StormsOfFateWait", getVanaMidnight())
    elseif csid == 161 then
        npcUtil.giveKeyItem(player, tpz.ki.NOTE_WRITTEN_BY_ESHANTARL)
        player:addQuest(JEUNO, tpz.quest.id.jeuno.SHADOWS_OF_THE_DEPARTED)
        player:setCharVar("StormsOfFateWait", 0)
    elseif csid == 162 then
        player:completeQuest(JEUNO, tpz.quest.id.jeuno.SHADOWS_OF_THE_DEPARTED)
        player:delKeyItem(tpz.ki.PROMYVION_HOLLA_SLIVER)
        player:delKeyItem(tpz.ki.PROMYVION_DEM_SLIVER)
        player:delKeyItem(tpz.ki.PROMYVION_MEA_SLIVER)
        player:messageSpecial(ID.text.YOU_HAND_THE_THREE_SLIVERS)
        player:setLocalVar('ANZONE', 1)
        player:setCharVar("ApocNighWait", getVanaMidnight())
    elseif csid == 123 then
        player:addQuest(JEUNO, tpz.quest.id.jeuno.APOCALYPSE_NIGH)
        player:setCharVar('ApocalypseNigh', 1)
        player:setCharVar("ApocNighWait", 0)
    end
end


ont: normal 15px tahoma, arial, verdana, sans-serif; }

/* line 95, ../themes/stylesheets/ext4/default/widgets/form/_field.scss */
.x-form-empty-field, textarea.x-form-empty-field {
  color: gray; }

/* line 100, ../themes/stylesheets/ext4/default/widgets/form/_field.scss */
.x-webkit .x-form-empty-field {
  line-height: 17px; }

/* line 105, ../themes/stylesheets/ext4/default/widgets/form/_field.scss */
.x-form-display-field {
  padding-top: 3px; }

        /*
        In oldIE, text inputs get a mysterious extra pixel of spacing above and below.
        This is targeted at IE6-IE7 (all modes) and IE9+ Quirks mode.

        IE8 quirks on Windows 7 requires this fix, but on
        IE8 quirks on Windows XP, this is breaks the layout.
        TODO: Check field input heights in IE8 quirks on Windows Vista.

        Since we can't specifically target a specific version of Windows via CSS, we default to fixing it the XP way, for now.
        */
/* line 121, ../themes/stylesheets/ext4/default/widgets/form/_field.scss */
.x-quirks .x-ie9p .x-form-text,
.x-ie7m .x-form-text {
  margin-top: -1px;
  margin-bottom: -1px; }

/* line 126, ../themes/stylesheets/ext4/default/widgets/form/_field.scss */
.x-ie .x-form-file {
  height: 27px;
  line-height: 18px;
  vertical-align: middle; }

/* line 135, ../themes/stylesheets/ext4/default/widgets/form/_field.scss */
.x-field-default-toolbar .x-form-text {
  height: 18px; }

/* line 139, ../themes/stylesheets/ext4/default/widgets/form/_field.scss */
.x-border-box .x-field-default-toolbar .x-form-text {
  height: 24px; }

/* line 143, ../themes/stylesheets/ext4/default/widgets/form/_field.scss */
.x-field-default-toolbar .x-form-item-label-left {
  padding-left: 4px; }

/* line 6, ../themes/stylesheets/ext4/default/widgets/form/_fieldset.scss */
.x-fieldset {
  border: 1px solid #727c8c;
  padding: 10px;
  margin-bottom: 10px;
  display: block;
  /* preserve margins in IE */
  position: relative; }

/* line 18, ../themes/stylesheets/ext4/default/widgets/form/_fieldset.scss */
.x-ie .x-fieldset {
  padding-top: 0; }
  /* line 20, ../themes/stylesheets/ext4/default/widgets/form/_fieldset.scss */
  .x-ie .x-fieldset .x-fieldset-body {
    padding-top: 10px; }

/* line 25, ../themes/stylesheets/ext4/default/widgets/form/_fieldset.scss */
.x-fieldset-header-checkbox {
  line-height: 14px; }

/* line 29, ../themes/stylesheets/ext4/default/widgets/form/_fieldset.scss */
.x-fieldset-header {
  font: 14px/14px bold tahoma, arial, verdana, sans-serif;
  color: white;
  padding: 0 3px 1px;
  overflow: hidden; }
  /* line 35, ../themes/stylesheets/ext4/default/widgets/form/_fieldset.scss */
  .x-fieldset-header .x-fieldset-header-text {
    float: left;
    padding: 1px 0; }
  /* line 39, ../themes/stylesheets/


asOwnProperty(name)) {
            return this.instances[name];
        }

        return null;
    }

    public getItem(name: string) {
        return this.get(name) as any;
    }

    /**
     * 循环遍历数据
     * @param   {Function} fn  需要还行的方法
     * @return  {Void}
     */
    public forEach(fn: (key: string, instance: T) => void): void {
        if (!fn || fn.constructor !== Function) {
            return;
        }

        for (const key in this.instances) {
            if (this.instances.hasOwnProperty(key)) {
                const element = this.instances[key];

                fn(key, element);
            }
        }
    }

    public clear() {
        this.instances = {};
        this.length = 0;
    }

    public key(index: number) {
        return "";
    }
}
import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.scss'],
})
export class HomeComponent implements OnInit {

  bandera: boolean; //true: español / false: ingles

  constructor() {
    let local_bandera = JSON.parse(localStorage.getItem('idioma'));
    if(local_bandera != null)
    {
      this.bandera = local_bandera;
    }else{
      this.bandera = true;
    }
  }

  ngOnInit() {}

  cambiarIdioma(bandera){
  	if (this.bandera) {
  		this.bandera = false;
  		this.reproducir('english');
      localStorage.setItem('idioma', JSON.stringify(this.bandera));
  	}
  	else{
  		this.bandera = true;
  		this.reproducir('español');
      localStorage.setItem('idioma', JSON.stringify(this.bandera));
  	}
  }

  reproducir(nom_audio) {
    const audio = new Audio('assets/sounds/' + nom_audio + '.mp3');
    audio.play();
  }

  reproducirAudio(nom_audio){
  	//console.log(this.bandera);
  	//console.log(nom_audio);
  	if(this.bandera)
  	{
  		switch (nom_audio) {
  			case "colores":
  				this.reproducir('colores');
          localStorage.setItem('tipo_juego', "colores");
  				break;
  			case "numeros":
  				this.reproducir('numeros');
          localStorage.setItem('tipo_juego', "numeros");
  				break;
  			case "animales":
  				this.reproducir('animales');
          localStorage.setItem('tipo_juego', "animales");
  				break;
  			default:
  				// code...
  				break;
  		}
  	}else{
  		switch (nom_audio) {
  			case "colores":
  				this.reproducir('colors');
          localStorage.setItem('tipo_juego', "colores");
  				break;
  			case "numeros":
  				this.reproducir('numbers');
          localStorage.setItem('tipo_juego', "numeros");
  				break;
  			case "animales":
  				this.reproducir('animals');
          localStorage.setItem('tipo_juego', "animales");
  				break;
  			default:
  				// code...
  				break;
  			}
  	}
    //console.log(localStorage.getItem('tipo_juego'));

  }

}
import { lang } from 'node-java-rt'


Cost cost = e.cost - dual_dist[e.to].first + dual_v;
          if (dual_dist[e.to].second > dist_v + cost) {
            Cost dist_to = dist_v + cost;
            dual_dist[e.to].second = dist_to;
            prev_e[e.to] = e.rev;
            if (dist_to == dist_v) {
              que_min.push_back(e.to);
            } else {
              que.push_back(Q{dist_to, e.to});
            }
          }
        }
      }
      if (!vis[sink]) { return false; }

      for (int v = 0; v < n; v++) {
        if (!vis[v]) continue;
        dual_dist[v].first -= dual_dist[sink].second - dual_dist[v].second;
      }
      return true;
    };

    auto dual_ref_dag = [&]() {
      FOR(i, n) dual_dist[i].se = infty<Cost>;
      dual_dist[source].se = 0;
      fill(vis.begin(), vis.end(), false);
      vis[0] = true;

      FOR(v, n) {
        if (!vis[v]) continue;
        Cost dual_v = dual_dist[v].fi, dist_v = dual_dist[v].se;
        for (int i = g.start[v]; i < g.start[v + 1]; i++) {
          auto e = g.elist[i];
          if (!e.cap) continue;
          Cost cost = e.cost - dual_dist[e.to].fi + dual_v;
          if (dual_dist[e.to].se > dist_v + cost) {
            vis[e.to] = true;
            Cost dist_to = dist_v + cost;
            dual_dist[e.to].second = dist_to;
            prev_e[e.to] = e.rev;
          }
        }
      }
      if (!vis[sink]) { return false; }

      for (int v = 0; v < n; v++) {
        if (!vis[v]) continue;
        dual_dist[v].fi -= dual_dist[sink].se - dual_dist[v].se;
      }
      return true;
    };

    Cap flow = 0;
    Cost cost = 0, prev_cost_per_flow = -1;
    vector<pair<Cap, Cost>> result = {{Cap(0), Cost(0)}};
    while (flow < flow_limit) {
      if (DAG && flow == 0) {
        if (!dual_ref_dag()) break;
      } else {
        if (!dual_ref()) break;
      }
      Cap c = flow_limit - flow;
      for (int v = sink; v != source; v = g.elist[prev_e[v]].to) { c = min(c, g.elist[g.elist[prev_e[v]].rev].cap); }
      for (int v = sink; v != source; v = g.elist[prev_e[v]].to) {
        auto& e = g.elist[prev_e[v]];
        e.cap += c;
        g.elist[e.rev].cap -= c;
      }
      Cost d = -dual_dist[source].first;
      flow += c;
      cost += c * d;
      if (prev_cost_per_flow == d) { result.pop_back(); }
      result.push_back({flow, cost});
      prev_cost_per_flow = d;
    }
    dual_ref();
    potential.resize(n);
    FOR(v, n) potential[v] = dual_dist[v].fi;
    return result;
  }
};
#include "graph/base.hpp"

// worst N*1.381^N だが、N=100 程度でも使える可能性がある。
// 特殊最大80頂点爆速 https://codeforces.com/contest/1578/problem/


>risc0/risc0<gh_stars>10-100
// Copyright 2022 Risc0, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

use alloc::{vec, vec::Vec};

use risc0_zkp_core::{
    fp::Fp,
    sha::{Digest, Sha},
    to_po2,
};

use crate::zkp::read_iop::ReadIOP;

/// The parameters of a merkle tree of prime field elements, including:
/// row_size - the number of leaves in the tree
/// col_size - the number of field elements associated with each leaf
/// queries - the number of queries that will be made to this merkle tree
/// layers - the number of levels on the merkle tree
/// top_layer - the index of the layer above which we check hashes only once
/// top_size - the number of hashes in the top layer
pub struct MerkleTreeParams {
    pub row_size: usize,
    pub col_size: usize,
    pub queries: usize,
    pub layers: usize,
    pub top_layer: usize,
    pub top_size: usize,
}

impl MerkleTreeParams {
    /// Returns the parameters of the Merkle tree, given the row and column size
    /// and the number of queries to be made.
    pub fn new(row_size: usize, col_size: usize, queries: usize) -> Self {
        // The number of layers is the logarithm base 2 of the row_size.
        let layers: usize = to_po2(row_size);
        assert!(1 << layers == row_size);
        // The "top" layer is a layer above which we verify all Merkle data only once at
        // the beginning. Later, we only verify merkle branches from the leaf up
        // to this top layer. This allows us to avoid checking hashes in this
        // part of the tree multiple times. We choose the top layer to be the
        // one with size at most equal to queries.
        let mut top_layer = 0;
        for i in 1..layers {
            if (1 << i) > queries {
                break;
            }
            top_layer = i;
        }
        let top_size = 1 << top_layer;
        MerkleTreeParams {
            row_size,
            col_size,
            queries,
            layers,
            top_layer,
            top_size,
        }
    }
}

/// A struct against which we verify merkle branches, consisting of the
/// parameters of the Merkle tree and top - the vector of hash values in the top
/// row of the tree, above which we verify only once.
pub struct MerkleTreeVerifier {
    params: MerkleTreeParams,
    top: Vec<Digest>,
}

impl MerkleTreeVerifier {
    /// Constructs a new MerkleTreeVerifier by making the params, and then
    /// computing the root hashes from the top level hashes.
    pub fn new<S: Sha>(
        iop: &mut ReadIOP<S>,
        row_size: usize,
        col_size: usize,
        queries: usize,
    ) -> Self {
        let sha


import numpy as np

# Script to generate data for inverse and inverse update tests

# Output for copy-and-paste to C++
def output_for_cpp(A,var_name='a'):
  N = A.shape[0]
  for i in range(N):
    for j in range(N):
      print('%s(%d,%d) = %12.10g;'%(var_name,i,j,A[i,j]))

A = np.array([
[2.3, 4.5, 2.6],
[0.5, 8.5, 3.3],
[1.8, 4.4, 4.9]])

#A = np.array([
#[2.3, 4.5, 2.6, 1.2],
#[0.5, 8.5, 3.3, 0.3],
#[1.8, 4.4, 4.9, 2.8],
#[0.8, 4.1, 3.2, 1.1]
#])

print(A)

print('det A',np.abs(np.linalg.det(A)))
print('log det A',np.log(np.abs(np.linalg.det(A))))
Ainv = np.linalg.inv(A)
print(Ainv)

output_for_cpp(Ainv)

print('')
row = np.array([1.9, 2.0, 3.1])
#row  = np.array([[1.9, 2.0, 3.1],
#                 [0.1, 4.2, 1.4]])

#row = np.array([3.2, 0.5, 5.9, 3.7])

B = A.copy()
# update row
#B[0,:] = row
# update column
B[:,0] = row
#B[:,0] = row[0]
#B[:,1] = row[1]
print('Updated A with column to get matrix B:')
print(B)
print('det B',np.abs(np.linalg.det(B)))
print('log det B',np.log(np.abs(np.linalg.det(B))))
print('det ratio',np.linalg.det(B)/np.linalg.det(A))
Binv = np.linalg.inv(B)

print('')
output_for_cpp(Binv,var_name='b')


        departDate: dt_split[0],
        },
    ]
    if (leg === '1') {
        listFlight.push({
            startPoint: ap_split[1],
            endPoint: ap_split[0],
            departDate: dt_split[1],
        })
    }
    const isDomestic: boolean = airportIsDomestic(ap_split[0]) && airportIsDomestic(ap_split[1])
    return {
        isDomestic,
        listFlight,
        adultCount: Number(ps_split[0]),
        childCount: Number(ps_split[1]),
        infantCount: Number(ps_split[2]),
        originCode: ap_split[0],
        destinCode: ap_split[1],
        departDate: moment(dt_split[0], 'YYYYMMDD').toDate(),
        returnDate: moment(dt_split[1], 'YYYYMMDD').toDate(),
        leg: Number(leg) || 0,
    }
}

// keys: Array ['before_8h', 'from_8h_to_12h', 'from_12h_to_18h' , 'after_18h']
export const compareTimeFilter = (date: Date, keys: string[]) => {
    const _08h = moment(date)
    _08h.set({ hour: 8, minute: 0, second: 0, millisecond: 0 })
    const _12h = moment(date)
    _12h.set({ hour: 12, minute: 0, second: 0, millisecond: 0 })
    const _18h = moment(date)
    _18h.set({ hour: 18, minute: 0, second: 0, millisecond: 0 })

    const is_valid_before_8h = moment(date).isBefore(_08h)
    const is_valid_from_8h_to_12h = moment(date).isSameOrAfter(_08h) && moment(date).isBefore(_12h)
    const is_valid_from_12h_to_18h = moment(date).isSameOrAfter(_12h) && moment(date).isBefore(_18h)
    const is_valid_after_18h = moment(date).isSameOrAfter(_18h)
    return (
        (keys.includes('before_8h') && is_valid_before_8h) ||
        (keys.includes('from_8h_to_12h') && is_valid_from_8h_to_12h) ||
        (keys.includes('from_12h_to_18h') && is_valid_from_12h_to_18h) ||
        (keys.includes('after_18h') && is_valid_after_18h)
    )
}

// key: String (time_asc, time_desc, price_asc)
export const sortFlightByKey = (
    flights: any[],
    key:
        | 'time_asc'
        | 'time_desc'
        | 'price_asc'
        | 'price_asc_taxFee_all'
        | 'price_asc_noTaxFee_all'
        | 'price_asc_noTaxFee_one'
        | 'price_asc_taxFee_one'
) => {
    if (Array.isArray(flights)) {
        switch (key) {
            case 'time_asc':
                return [...flights].sort((item1, item2) => {
                    if (moment(item1.listFlight[0]?.startDate).isAfter(moment(item2.listFlight[0]?.startDate))) {
                        return 1
                    } else if (
                        moment(item1.listFlight[0]?.startDate).isBefore(moment(item2.listFlight[0]?.startDate))
                    ) {
                        return -1
                    } else {
                        return 0
                    }
                })
            case 'time_desc':
                return [...flights].sort((item1, item2) => {
                    if (moment(item1.listFlight[0]?.startDate).isAfter(moment(item2.listFlight[0]?.startDate))) {
                        return -1
                    } else if (