 {
                    if (debug)
                        System.out.println("├── edge: " + id);

                    EList<GPoint> oldPoints = edge.getRoutingPoints();
                    if (debug)
                        System.out.println("│   ├── old points:");
                    for (GPoint ding : oldPoints) {
                        if (debug)
                            System.out.println("│   │   ├── " + ding.getX() + "." + ding.getY());
                    }
                    if (debug)
                        System.out.println("│   ├── new points:");
                    for (GPoint ding : newGLSPRoutingPoints) {
                        if (debug)
                            System.out.println("│   │   ├── " + ding.getX() + "." + ding.getY());
                    }

                    // Adjust routing points for Events
                    if (!newGLSPRoutingPoints.isEmpty()) {
                        adjustEventRoutingPorts(edge, newGLSPRoutingPoints);
                    }

                    // Update BPMN Routing
                    edge.getRoutingPoints().clear();
                    edge.getRoutingPoints().addAll(newGLSPRoutingPoints);

                    updateBPMNWayPoints(id, newGLSPRoutingPoints);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        // no more action - the GModel is now up to date
    }

    /**
     * This helper method adjusts the docking point of the last/first routing point
     * on a BPMN Event element.
     *
     * @throws BPMNMissingElementException
     *
     */
    private void adjustEventRoutingPorts(GEdge edge, List<GPoint> newGLSPRoutingPoints)
            throws BPMNMissingElementException {

        GPoint pointOfInterest = null;
        // ist die Source ein Event?
        BPMNElementNode sourceBPMNElement = modelState.getBpmnModel().findElementNodeById(edge.getSourceId());
        if (sourceBPMNElement != null && BPMNModel.isEvent(sourceBPMNElement)) {
            pointOfInterest = newGLSPRoutingPoints.get(0);
            GPoint center = computeCenter(edge.getSource());
            if (yInEventsBounds(center, pointOfInterest)) {
                pointOfInterest.setY(center.getY());
            }
            if (xInEventsBounds(center, pointOfInterest)) {
                pointOfInterest.setX(center.getX());
            }
        }

        // ist das Target ein Event?
        BPMNElementNode targetBPMNElement = modelState.getBpmnModel().findElementNodeById(edge.getTargetId());
        if (targetBPMNElement != null && BPMNModel.isEvent(targetBPMNElement)) {
            pointOfInterest = newGLSPRoutingPoints.get(newGLSPRoutingPoints.size() - 1);
            GPoint center = computeCenter(edge.getTarget());
            if (yInEventsBounds(center, pointOfInterest)) {
                pointOfInterest.setY(center.getY());
            }
            if (xInEventsBounds(center, pointOfInterest)) {
                pointOfInterest.setX(center.getX());
            }
        }
    }

    /**
     * Returns the center of a GMoelElement
     *
     * @param element
     * @return
     */
    private GPoint computeCenter(GModelElement element) {
        if (element instanceof GBoundsAware) {
            GBoundsAware boundsElement = (GBoundsAware) element;
            double radius = Event.DEFAULT_HEIGHT / 2;
            double xCenter = boundsElement.getPosition().getX() + radius;
            double yCenter = boundsElement.getPosition().getY() + radius;
            return GraphUtil.point(xCenter, yCenter);
        }
        return GraphUtil.point(0, 0);

    }

    private boolean yInEventsBounds(GPoint center, GPoint routingPoint


}

void from_json(const json& j, GetLogRequest& k) {
    // the required parts of the message
    k.log = j.at("log");
    k.logType = conversions::string_to_log_enum(j.at("logType"));
    k.requestId = j.at("requestId");

    // the optional parts of the message
    if (j.contains("retries")) {
        k.retries.emplace(j.at("retries"));
    }
    if (j.contains("retryInterval")) {
        k.retryInterval.emplace(j.at("retryInterval"));
    }
    if (j.contains("customData")) {
        k.customData.emplace(j.at("customData"));
    }
}

/// \brief Writes the string representation of the given GetLogRequest \p k to the given output stream \p os
/// \returns an output stream with the GetLogRequest written to
std::ostream& operator<<(std::ostream& os, const GetLogRequest& k) {
    os << json(k).dump(4);
    return os;
}

std::string GetLogResponse::get_type() const {
    return "GetLogResponse";
}

void to_json(json& j, const GetLogResponse& k) {
    // the required parts of the message
    j = json{
        {"status", conversions::log_status_enum_to_string(k.status)},
    };
    // the optional parts of the message
    if (k.statusInfo) {
        j["statusInfo"] = k.statusInfo.value();
    }
    if (k.filename) {
        j["filename"] = k.filename.value();
    }
    if (k.customData) {
        j["customData"] = k.customData.value();
    }
}

void from_json(const json& j, GetLogResponse& k) {
    // the required parts of the message
    k.status = conversions::string_to_log_status_enum(j.at("status"));

    // the optional parts of the message
    if (j.contains("statusInfo")) {
        k.statusInfo.emplace(j.at("statusInfo"));
    }
    if (j.contains("filename")) {
        k.filename.emplace(j.at("filename"));
    }
    if (j.contains("customData")) {
        k.customData.emplace(j.at("customData"));
    }
}

/// \brief Writes the string representation of the given GetLogResponse \p k to the given output stream \p os
/// \returns an output stream with the GetLogResponse written to
std::ostream& operator<<(std::ostream& os, const GetLogResponse& k) {
    os << json(k).dump(4);
    return os;
}

} // namespace v2
} // namespace ocpp
// SPDX-License-Identifier: Apache-2.0
// Copyright 2020 - 2025 Pionix GmbH and Contributors to EVerest
// This code is generated using the generator in 'src/code_generator/common`, please do not edit manually

#include <ocpp/v2/messages/DeleteCertificate.hpp>

#include <optional>
#include <ostream>
#include <string>

using json = nlohmann::json;

namespace ocpp {
namespace v2 {

std::string DeleteCertificateRequest::get_type() const {
    return "DeleteCertificate";
}

void to_json(json& j, const DeleteCertificateRequest& k) {
    // the required parts of the message
    j = json{
        {"certificateHashData", k.certificateHashData},
    };
    // the optional parts of the message
    if (k.customData) {
        j["customData"] = k.customData.value();
    }
}

void from_json(const json& j, DeleteCertificateRequest& k) {
    // the required parts of the message
    k.certificateHashData = j.at("certificateHashData");

    // the optional parts of the message
    if (j.contains("customData")) {
        k.customData.emplace(j.at("customData"));
    }
}

///


  lup   BYTES_PER_ROW+1  ;0-40
             dfb   ]offset
]offset      =     ]offset-5
             --^

             fin                    ;*****

********************************
*
* Code used to generate tables above.  If you want to
* decrease load size, use these functions to generate
* the data into empty memory, then discard the code.
* (Maybe use a negative DS and overlap with rastx0l?)
*
********************************
             DO    0                ;*****

init_ylook
]hbasl       equ   zptr1
]hbash       equ   zptr1+1

* Initialize Y-lookup table.  We just call the bascalc
* function.
             ldx   #NUM_ROWS
             ldy   #NUM_ROWS-1
]loop        tya
             jsr   bascalc
             lda   hbasl
             sta   ylooklo,y
             lda   hbash
             ora   #$20             ;remove for $0000 base
             sta   ylookhi,y
             dey
             dex
             bne   ]loop
             rts

* Hi-res base address calculation.  This is based on the
* HPOSN routine at $F411.
*
* Call with the line in A.  The results are placed into
* zptr1.  X and Y are not disturbed.
*
* The value is in the $0000-1fff range, so you must OR
* the desired hi-res page in.
*
bascalc
             pha
             and   #$c0
             sta   ]hbasl
             lsr
             lsr
             ora   ]hbasl
             sta   ]hbasl
             pla
             sta   ]hbash
             asl
             asl
             asl
             rol   ]hbash
             asl
             rol   ]hbash
             asl
             ror   ]hbasl
             lda   ]hbash
             and   #$1f
             sta   ]hbash
             rts

*
* Create divide-by-7 tables.
*
mkdivtab
]val         equ   zloc0

             ldy   #0
             sty   ]val
             ldx   #0
]loop        lda   ]val
             sta   div7lo,y
             txa
             sta   mod7lo,y
             inx
             iny
             beq   :lodone
             cpx   #7
             bne   ]loop
             inc   ]val
             ldx   #0
             beq   ]loop            ;always
:lodone                             ;safe to ignore ]va update
]loop        lda   ]val
             sta   div7hi,y
             txa
             sta   mod7hi,y
             iny
             cpy   #280-256
             beq   :hidone
             inx
             cpx   #7
             bne   ]loop
             inc   ]val
             ldx   #0
             beq   ]loop            ;always
:hidone      rts

             FIN                    ;*****


esults && (queryResults.sources))) {
      tabContent = (

          <SourceSearchResultsContainer
            initValues={{ searchKeyword: selectedMediaQueryKeyword, tags: {} }} // empty
            onToggleSelected={onToggleSelected}
            handleMediaConcurrency={handleMediaConcurrency}
            updateMediaQuerySelection={updateMediaQuerySelection}
            viewOnly={viewOnly}
          />

      );
    } else {
      tabContent = <FormattedMessage {...localMessages.noResults} />;
    }
    return (

        {tabs}
        {tabContent}

    );
  }
}

TabSandCSearchResultsContainer.propTypes = {
  // form compositional chain
  intl: PropTypes.object.isRequired,
  // from parent
  onToggleSelected: PropTypes.func.isRequired,
  handleMediaConcurrency: PropTypes.func.isRequired,
  updateMediaQuerySelection: PropTypes.func.isRequired,
  whichTagSet: PropTypes.array,
  hintTextMsg: PropTypes.object,
  onSearch: PropTypes.func.isRequired,
  // from state
  selectedMediaQueryType: PropTypes.number,
  selectedMediaQueryKeyword: PropTypes.string,
  queryResults: PropTypes.object,
  initItems: PropTypes.object,
  fetchStatus: PropTypes.oneOfType([
    PropTypes.string,
    PropTypes.array,
  ]).isRequired,
  viewOnly: PropTypes.bool,
  clearPreviousQueries: PropTypes.func,
};

const mapDispatchToProps = dispatch => ({
  clearPreviousQueries: () => {
    dispatch(resetMediaPickerSources());
    dispatch(resetMediaPickerCollections()); // clear prev results
  },
});

export default
injectIntl(
  connect(null, mapDispatchToProps)(
    TabSandCSearchResultsContainer
  )
);
import PropTypes from 'prop-types';
import { injectIntl, FormattedMessage } from 'react-intl';
import React from 'react';
import { AddButton, DeleteButton } from '../../IconButton';
import { urlToCollection } from '../../../../lib/urlUtil';

const localMessages = {
  name: { id: 'mediaPicker.searchResults.name', defaultMessage: 'Name' },
  tagSetLabel: { id: 'mediaPicker.searchResults.tagSetLabel', defaultMessage: 'Category' },
  description: { id: 'mediaPicker.searchResults.description', defaultMessage: 'Description' },
  mediaSources: { id: 'mediaPicker.searchResults.mediaSources', defaultMessage: 'Media Sources' },
  noResults: { id: 'mediaPicker.searchResults.noResults', defaultMessage: 'No matching collections' },
};

const INCLUDE_SOURCE_COUNTS = false;

const CollectionResultsTable = (props) => {
  const { title, collections, onToggleSelected, viewOnly } = props;
  let content = null;
  let mediaCountHeader;
  if (INCLUDE_SOURCE_COUNTS) {
    mediaCountHeader = <FormattedMessage {...localMessages.mediaSources} />	;
  }
  if (collections.length > 0) {
    content = (

            <FormattedMessage {...localMessages.name} />
            <FormattedMessage {...localMessages.tagSetLabel} />
            <FormattedMessage {...localMessages.description} />
            {mediaCountHeader}

          {collections.map((c, idx) => {
            const ActionButton = c.selected ? DeleteButton : AddButton;
            const actionContent = <ActionButton onClick={() => onToggleSelected(c)} />;
            let mediaCountValue;
            if (INCLUDE_SOURCE_COUNTS) {
              mediaCountValue = {(c.media_count === 100) ? `${c.media_count}+` : c.media_count}	;
            }
            return (
              <tr key={`${c.tags_id}`} className={(idx % 2 === 0) ? 'even' : 'odd'}>
                <a href={url


format!(
                    "Expected Server {:?} PDU, got invalid PDU: {:?}",
                    order,
                    pdu.as_short_name()
                )));
            }
        };
    }

    Ok(())
}

fn check_global_id(channel_ids: ChannelIdentificators, id: u16) -> Result<(), RdpError> {
    if channel_ids.channel_id != id {
        Err(RdpError::InvalidResponse(format!(
            "Unexpected Send Data Context channel ID ({})",
            channel_ids.channel_id,
        )))
    } else {
        Ok(())
    }
}
extern crate ghq;
extern crate clap;

use std::io::{self, Write};
use clap::{Arg, App, AppSettings, SubCommand};
use ghq::config::Config;
use ghq::workspace::Workspace;
use ghq::error::GhqError;

fn main() {
  match _main() {
    Ok(exitcode) => std::process::exit(exitcode),
    Err(err) => writeln!(&mut io::stderr(), "IO Error: {}", err.to_string()).unwrap(),
  }
}

fn _main() -> Result<i32, GhqError> {
  let config = Config::load()?;
  let workspace = Workspace::new(config);

  let matches = cli().get_matches();
  match matches.subcommand() {
    ("clone", Some(m)) => {
      let queries = m.values_of("query").unwrap();
      for ref s in queries {
        workspace.clone_from(s)?;
      }
    }
    ("list", Some(_)) => {
      workspace.map_repo(|repo, root| {
        let repo_path = repo.local_path(root).to_string_lossy().replace("\\", "/");
        println!("{}", repo_path);
      });
    }
    ("root", Some(m)) => {
      if m.is_present("all") {
        for root in workspace.roots() {
          println!("{}", root.display());
        }
      } else {
        if let Some(root) = workspace.default_root() {
          println!("{}", root.display());
        }
      }
    }
    (_, _) => unreachable!(),
  };

  Ok(0)
}

fn cli() -> App<'static, 'static> {
  App::new(env!("CARGO_PKG_NAME"))
    .about(env!("CARGO_PKG_DESCRIPTION"))
    .version(env!("CARGO_PKG_VERSION"))
    .author(env!("CARGO_PKG_AUTHORS"))
    .setting(AppSettings::VersionlessSubcommands)
    .setting(AppSettings::SubcommandRequiredElseHelp)
    .subcommand(SubCommand::with_name("clone")
      .about("Clone remote repository into your working directory")
      .arg(Arg::with_name("query")
        .multiple(true)
        .required(true)
        .help("repository name or URL"))
      .arg(Arg::with_name("root")
        .long("root")
        .help("root directory of cloned repository")))
    .subcommand(SubCommand::with_name("list")
      .about("List local repositories into the working directories"))
    .subcommand(SubCommand::with_name("root")
      .about("Show repositories's root")
      .arg(Arg::with_name("all")
        .short("a")
        .long("all")
        .help("Show all roots")))
}
<filename>core/src/integration_step/computed/velocity.rs
use super::{
    contributions::{self, Contribution},
    step::{PositionRef, Step},
};
use crate::Position;

/// This type must be public because it is returned by the impl of
/// [`::std::ops::Index`] for [`IntegrationStep`]. All members are non-public,
/// however, such that it cannot be used from outside.
pub struct Velocity {
    pub(in crate::integration_step) v: crate::Velocity,
    pub(in crate::integration_step) sampling_position: PositionRef,
    contributions: contributions::velocity::collection::Generic,
}

impl Velocity {
    pub(in crate::integration_step) fn new<const N: usize, const D: usize>(
        v: crate::Velocity,
        sampling_position:


d>
                软件252

                王五
                男
                21
                软件257

                田七
                女
                20
                软件254

<!DOCTYPE html>

		<meta charset="UTF-8">
		<title>带滚动条的表格</title>

					姓名
					性别
					年龄
					班级

		            *描述学生信息

					张三
					男
					20
					软件251

					赵四
					女
					18
					软件252

					王五
					男
					21
					软件257

					李六
					男
					20
					软件256

					田七
					女
					19
					软件254

					张十八
					男
					21
					软件255

					张三
					男
					20
					软件251

					赵四
					女
					18
					软件252

					王五
					男


i++)k(r,e,e.attr[i]);else k(r,e,"subplot"===e.attr?e.name:e.attr);for(t in n.componentsRegistry){var a=(e=n.componentsRegistry[t]).schema;if(a&&(a.subplots||a.layout)){var s=a.subplots;if(s&&s.xaxis&&!s.yaxis)for(var l in s.xaxis)delete r.yaxis[l];delete r.xaxis.shift,delete r.xaxis.autoshift}else"colorscale"===e.name?f(r,e.layoutAttributes):e.layoutAttributes&&A(r,e.layoutAttributes,e.name)}return{layoutAttributes:T(r)}}function T(t){return function(t){e.crawl(t,(function(t,r,n){e.isValObject(t)?!0!==t.arrayOk&&"data_array"!==t.valType||(n[r+"src"]={valType:"string",editType:"none"}):h(t)&&(t.role="object")}))}(t),function(t){e.crawl(t,(function(t,e,r){if(t){var n=t[y];n&&(delete t[y],r[e]={items:{}},r[e].items[n]=t,r[e].role="object")}}))}(t),function(t){!function t(e){for(var r in e)if(h(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function k(t,e,r){var n=d(t,r),i=f({},e.layoutAttributes);i[g]=!0,n.set(i)}function A(t,e,r){var n=d(t,r);n.set(f(n.get()||{},e))}e.IS_SUBPLOT_OBJ=g,e.IS_LINKED_TO_ARRAY=y,e.DEPRECATED=m,e.UNDERSCORE_ATTRS=x,e.get=function(){var t={};n.allTypes.forEach((function(r){t[r]=function(t){var r,i;i=(r=n.modules[t]._module).basePlotModule;var o={type:null},s=f({},a),l=f({},r.attributes);e.crawl(l,(function(t,e,r,n,i){d(s,i).set(void 0),void 0===t&&d(l,i).set(void 0)})),f(o,s),n.traceIs(t,"noOpacity")&&delete o.opacity,n.traceIs(t,"showLegend")||(delete o.showlegend,delete o.legendgroup),n.traceIs(t,"noHover")&&(delete o.hoverinfo,delete o.hoverlabel),r.selectPoints||delete o.selectedpoints,f(o,l),i.attributes&&f(o,i.attributes),o.type=t;var u={meta:r.meta||{},categories:r.categories||{},animatable:Boolean(r.animatable),type:t,attributes:T(o)};if(r.layoutAttributes){var c={};f(c,r.layoutAttributes),u.layoutAttributes=T(c)}return r.animatable||e.crawl(u,(function(t){e.isValObject(t)&&"anim"in t&&delete t.anim})),u}(r)}));var r,i={};return Object.keys(n.transformsRegistry).forEach((function(t){i[t]=function(t){var e=n.transformsRegistry[t],r=f({},e.attributes);return Object.keys(n.componentsRegistry).forEach((fun


using System;
using System.Text.RegularExpressions;
using UnityEngine;

namespace UnityEditor.Purchasing
{
    class SwitchStoreEditorWindow : EditorWindow
    {
#if UNITY_2019
        /// <summary>
        /// <seealso cref="https://unity3d.com/unity/whats-new/2019.4.15"/>
        /// </summary>
        /// <returns>true if API is missing</returns>
        static bool IsMissingCreateGUI()
        {
            var matches = Regex.Match(Application.unityVersion, @"^(\d+)\.(\d+)\.(\d+)");
            if (!matches.Success)
            {
                return false;
            }

            var major = int.Parse(matches.Grou


import praw
import yaml
import os
import pandas as pd

# Sobe dois níveis (ingestion → src → raiz)
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '../..'))
config_path = os.path.join(project_root, 'configs', 'config.yaml')

# Carregar config
with open(config_path, 'r', encoding='utf-8') as f:
    config = yaml.safe_load(f)

reddit_config = config['reddit']
keywords = reddit_config['keywords']
post_limit = reddit_config['post_limit']

# Inicializar Reddit API
reddit = praw.Reddit(
    client_id=reddit_config['client_id'],
    client_secret=reddit_config['client_secret'],
    user_agent=reddit_config['user_agent']
)

# Coleta
data = []
for keyword in keywords:
    print(f"🔎 Coletando posts para: {keyword}")
    for post in reddit.subreddit("all").search(keyword, limit=post_limit):
        data.append({
            'id': post.id,
            'title': post.title,
            'score': post.score,
            'num_comments': post.num_comments,
            'created_utc': post.created_utc,
            'subreddit': str(post.subreddit),
            'url': post.url,
            'author': str(post.author) if post.author else "unknown",
            'keyword': keyword
        })

# Salvar camada Bronze
output_path = os.path.join(project_root, 'data', 'raw', 'reddit_posts.csv')
os.makedirs(os.path.dirname(output_path), exist_ok=True)
pd.DataFrame(data).to_csv(output_path, index=False, encoding='utf-8')

print(f"✅ Coleta concluída! Total de posts: {len(data)}")
print(f"📂 Arquivo salvo em: {output_path}")


function apache:parse(directory)
    msg.verbose(directory)

    local test = execute({"curl", "-k", "-l", "-I", directory})
    local response = test.stdout:match("(%d%d%d [^\n\r]+)")
    if test.stdout:match("Content%-Type: ([^\r\n/]+)") ~= "text" then return nil end
    if response ~= "200 OK" then return send_error(response) end

    local html = execute({"curl", "-k", "-l", directory})
    if html.status ~= 0 then return send_error(tostring(html.status))
    elseif not html.stdout:find("%[PARENTDIR%]") then return nil end

    local html_body = html.stdout
    local list = {}
    for str in string.gmatch(html_body, "[^\r\n]+") do
        local valid = true
        if str:sub(1,4) ~= "<tr>" then valid = false end

        local link = str:match('href="(.-)"')
        local alt = str:match('alt="%[(.-)%]"')

        if valid and not alt or not link then valid = false end
        if valid and alt == "PARENTDIR" or alt == "ICO" then valid = false end
        if valid and link:find("[:?<>|]") then valid = false end

        local is_dir = (alt == "DIR")
        if valid and is_dir and not self.valid_dir(link) then valid = false end
        if valid and not is_dir and not self.valid_file(link) then valid = false end

        if valid then
            msg.trace(alt..": "..link)
            table.insert(list, { name = link, type = (is_dir and "dir" or "file"), label = decodeURI(link) })
        end
    end

    return list, {filtered = true, directory_label = decodeURI(directory)}
end

return apache


#include "hi_asm_define.h"
	.arch armv8-a+fp+simd
	.file	"resample.c"
	.global	_mcount
	.text
	.align	2
	.p2align 3,,7
	.type	cvtShortShort, %function
cvtShortShort:
	stp	x29, x30, [sp, -64]!
	add	x29, sp, 0
	stp	x19, x20, [sp, 16]
	stp	x21, x22, [sp, 32]
	str	x23, [sp, 48]
	mov	x20, x0
	mov	x0, x30
	mov	w23, w3
	mov	w22, w4
	mov	x21, x1
	mov	w19, w2
	bl	_mcount
	cmp	w23, wzr
	ccmp	w22, 2, 0, eq
	bne	.L2
	add	x2, x21, x19, sxtw 1
	cmp	x21, x2
	beq	.L8
	mov	x4, x2
	mov	x3, x21
	mov	x0, x20
	.p2align 2
.L4:
	add	x0, x0, 4
	ldrsh	w5, [x3], 2
	cmp	x2, x3
	strh	w5, [x0, -4]
	ldrsh	w5, [x4], 2
	strh	w5, [x0, -2]
	bne	.L4
	add	x0, x21, 2
	ldr	x23, [sp, 48]
	sub	x0, x2, x0
	lsr	x0, x0, 1
	add	x0, x0, 1
	ubfiz	x0, x0, 1, 62
	ldp	x19, x20, [sp, 16]
	ldp	x21, x22, [sp, 32]
	ldp	x29, x30, [sp], 64
	ret
	.p2align 3
.L2:
	cmp	w22, 2
	lsl	w0, w19, 1
	csel	w19, w0, w19, eq
	add	x2, x21, x19, sxtw 1
	cmp	x21, x2
	beq	.L8
	mov	x3, x21
	mov	x0, x20
	.p2align 2
.L6:
	ldrsh	w4, [x3], 2
	strh	w4, [x0], 2
	cmp	x2, x3
	bne	.L6
	add	x0, x21, 2
	sub	x0, x2, x0
	and	x0, x0, -2
	add	x0, x0, 2
	lsr	x0, x0, 1
.L3:
	ldp	x19, x20, [sp, 16]
	ldp	x21, x22, [sp, 32]
	ldr	x23, [sp, 48]
	ldp	x29, x30, [sp], 64
	ret
	.p2align 3
.L8:
	mov	w0, 0
	b	.L3
	.size	cvtShortShort, .-cvtShortShort
	.global	_mcount
	.align	2
	.p2align 3,,7
	.type	cvt2int, %function
cvt2int:
	stp	x29, x30, [sp, -64]!
	add	x29, sp, 0
	stp	x19, x20, [sp, 16]
	stp	x21, x22, [sp, 32]
	stp	x23, x24, [sp, 48]
	mov


    final hideToTrayHotkey = HotKey(
      key: LogicalKeyboardKey.keyW,
      modifiers: [HotKeyModifier.meta],
      scope: HotKeyScope.inapp,
    );
    //Quit app / kill process
    final quitHotkey = HotKey(
      key: LogicalKeyboardKey.keyQ,
      modifiers: [HotKeyModifier.meta],
      scope: HotKeyScope.inapp,
    );

    await hotKeyManager.register(
      hideHotkey,
      keyDownHandler: (_) => windowManager.minimize(),
    );
    await hotKeyManager.register(
      hideToTrayHotkey,
      keyDownHandler: (_) => TrayHandler.setTray(context).then((_) async {
        await windowManager.hide();
        windowManager.setSkipTaskbar(true);
      }),
    );
    await hotKeyManager.register(
      quitHotkey,
      keyDownHandler: (_) => windowManager.destroy().then((_) => exit(0)),
    );
    _isMacosWindowHotkeyRegistered = true;
  }

  static Future<void> registerDownloadAdditionHotKey(
      BuildContext context) async {
    if (_isDownloadHotkeyRegistered) return;
    if (SettingsCache.downloadAdditionHotkeyLogicalKey == null ||
        (SettingsCache.downloadAdditionHotkeyModifierOne == null &&
            SettingsCache.downloadAdditionHotkeyModifierTwo == null)) {
      return;
    }
    List<HotKeyModifier?> modifiers = [
      SettingsCache.downloadAdditionHotkeyModifierOne,
      SettingsCache.downloadAdditionHotkeyModifierTwo
    ]..removeWhere((element) => element == null);
    downloadAdditionHotkey = HotKey(
      key: SettingsCache.downloadAdditionHotkeyLogicalKey!,
      modifiers: [...modifiers.map((e) => e!)],
      scope: SettingsCache.downloadAdditionHotkeyScope,
    );
    try {
      hotKeyManager.register(
        downloadAdditionHotkey!,
        keyDownHandler: (hotKey) async {
          String url = await FlutterClipboard.paste();
          DownloadAdditionUiUtil.handleDownloadAddition(context, url);
        },
      );
    } catch (e) {
      Logger.log(e);
    }
    _isDownloadHotkeyRegistered = true;
  }
}
// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';

// ignore_for_file: type=lint

/// The translations for Italian (`it`).
class AppLocalizationsIt extends AppLocalizations {
  AppLocalizationsIt([String locale = 'it']) : super(locale);

  @override
  String get application => 'applicazione';

  @override
  String get language => 'Lingua';

  @override
  String get noUpdateAvailable =>
      'Nessun nuovo aggiornamento disponibile al momento';

  @override
  String get search => 'Cerca';

  @override
  String get addUrl => 'Aggiungi URL';

  @override
  String get download => 'Download';

  @override
  String get stop => 'Stop';

  @override
  String get remove => 'Rimuovi';

  @override
  String get addToQueue => 'Aggiungi alla coda';

  @override
  String get addDownload => 'Aggiungi download';

  @override
  String get customSavePath => 'Percorso salvataggio personalizzato';

  @override
  String get checkForUpdate => 'Controlla aggiornamenti';

  @override
  String get getExtension => 'Ottieni estensione';

  @override
  String get allDownloads => 'Tutti i download';

  @override
  String get unfinishedDownloads => 'Download non completati';

  @override
  String get finishedDownloads => 'Download completati';

  @override
  String get downloadQueues => 'Code download';

  @override
  String get fil


Shape___00_01WarpShape___00_01GemmShaaf312aafe9da92ea9d417bcc12a8e7dc.html#a5b4fe0717b80227cb8af9e705a058c05',1,'cutlass::gemm::threadblock::DefaultMmaCore< Shape_, WarpShape_, GemmShape< 1, 1, 4 >, int8_t, layout::RowMajor, int8_t, layout::ColumnMajor, ElementC_, LayoutC_, arch::OpClassSimt, 2, Operator_ >::Policy()'],['../structcutlass_1_1gemm_1_1threadblock_1_1DefaultMmaCore_3_01Shape___00_01WarpShape___00_01GemmSha863d4139ccaa713bc4bde32c425f4067.html#a76f447f264ee662e71140dab01124398',1,'cutlass::gemm::threadblock::DefaultMmaCore< Shape_, WarpShape_, GemmShape< 1, 1, 4 >, int8_t, layout::RowMajor, int8_t, layout::RowMajor, ElementC_, LayoutC_, arch::OpClassSimt, 2, Operator_ >::Policy()'],['../structcutlass_1_1gemm_1_1threadblock_1_1DefaultMmaCore_3_01Shape___00_01WarpShape___00_01GemmSha2c0d0b7cdb5c4bcb11e83c058eb65345.html#a346489e42e33dc95e7568793d43c5c64',1,'cutlass::gemm::threadblock::DefaultMmaCore< Shape_, WarpShape_, GemmShape< 1, 1, 4 >, int8_t, layout::ColumnMajor, int8_t, layout::ColumnMajor, ElementC_, LayoutC_, arch::OpClassSimt, 2, Operator_ >::Policy()'],['../structcutlass_1_1gemm_1_1threadblock_1_1DefaultMmaCore_3_01Shape___00_01WarpShape___00_01GemmSha69bef08ea63dd930f99d9788105873dd.html#acb4f53137e01145a137fd4eaebb71f67',1,'cutlass::gemm::threadblock::DefaultMmaCore< Shape_, WarpShape_, GemmShape< 8, 8, 4 >, ElementA_, layout::ColumnMajor, ElementB_, layout::RowMajor, ElementC_, LayoutC_, arch::OpClassTensorOp, 2, Operator_ >::Policy()'],['../structcutlass_1_1gemm_1_1threadblock_1_1DefaultMmaCore_3_01Shape___00_01WarpShape___00_01GemmSha3adf608332a8c9ee7014fced0da8a9ca.html#a562f35290b06d22790ce63d44cb79be0',1,'cutlass::gemm::threadblock::DefaultMmaCore< Shape_, WarpShape_, GemmShape< 8, 8, 4 >, ElementA_, layout::RowMajor, ElementB_, layout::ColumnMajor, ElementC_, LayoutC_, arch::OpClassTensorOp, 2, Operator_ >::Policy()'],['../structcutlass_1_1gemm_1_1threadblock_1_1DefaultMmaCore_3_01Shape___00_01WarpShape___00_01GemmShab7edfba3cdf43a07e3c4d719d87565a4.html#a4b74f2c5f0d0a94ca74c16166659f47d',1,'cutlass::gemm::threadblock::DefaultMmaCore< Shape_, WarpShape_, GemmShape< 8, 8, 4 >, ElementA_, layout::RowMajor, ElementB_, layout::RowMajor, ElementC_, LayoutC_, arch::OpClassTensorOp, 2, Operator_ &gt


nmentRequest req)
        {
            switch (req.installationState)
            {
                case InstallationState.New:
                    if (!s_CachedMDStoreInformation.hasAlreadyRequestedData && !HasInstallablePackageData() && s_SearchRequest == null)
                    {
                        s_SearchRequest = Client.SearchAll(false);
                        EditorApplication.update += UpdateInstallablePackages;
                    }
                    AddRequestToQueue(req, k_WaitingPackmanQuery);
                    EditorApplication.update += WaitingOnSearchQuery;
                    break;

                case InstallationState.RebuildInstalledCache:
                    AddRequestToQueue(req, k_RebuildCache);
                    EditorApplication.update += RebuildCache;
                    break;

                case InstallationState.StartInstallation:
                    req.needsAddRequest = true;
                    req.packageAddRequest = null;
                    req.timeOut = Time.realtimeSinceStartup + k_TimeOutDelta;
                    AddRequestToQueue(req, k_InstallingPackage);
                    EditorApplication.update += MonitorPackageInstallation;
                    break;

                case InstallationState.Installing:
                    AddRequestToQueue(req, k_InstallingPackage);
                    EditorApplication.update += MonitorPackageInstallation;
                    break;

                case InstallationState.Assigning:
                    AddRequestToQueue(req, k_AssigningPackage);
                    EditorApplication.update += AssignAnyRequestedLoadersUpdate;
                    break;

                case InstallationState.Uninstalling:
                    AddRequestToQueue(req, k_UninstallingPackage);
                    EditorApplication.update += MonitorPackageUninstall;
                    break;

                case InstallationState.Log:
                    const string header = "XR Plug-in Management";
                    switch(req.logLevel)
                    {
                        case LogLevel.Info:
                        Debug.Log($"{header}: {req.logMessage}");
                        break;

                        case LogLevel.Warning:
                        Debug.LogWarning($"{header} Warning: {req.logMessage}");
                        break;

                        case LogLevel.Error:
                        Debug.LogError($"{header} error. Failure reason: {req.logMessage}.\n Check if there are any other errors in the console and make sure they are corrected before trying again.");
                        break;
                    }
                    ResetManagerUiIfAvailable();
                    break;
            }
        }

    }
}


("shortestpath,contentid="..tostring(vendorID))
	if (ValidTable(vendors)) then
		local i,entity = next(vendors)
		if (entity and entity.interactable) then

			local ppos = Player.pos
			local epos = entity.pos
			local dist3d = Distance3D(ppos.x,ppos.y,ppos.z,epos.x,epos.y,epos.z)

			if (dist3d < 3.8) then
				e_interactgamevendor.id = entity.id
				retu


_G["weapons_table"]["weapons"]["missiles"]["P_9M133"] = {
	Reflection = 0.02,
	_unique_resource_name = "weapons.missiles.P_9M133",
	caliber = 0.152,
	client = {
		autopilot = {
			Kd = 0.06,
			Ki = 0.038,
			Kp = 0.24,
			delay = 0.3,
			fins_discreet = 0.03,
			max_ctrl_angle = 1.35,
			no_ctrl_center_ang = 8e-05,
			op_time = 23
		},
		booster = {
			custom_smoke_dissipation_factor = 0,
			fuel_mass = 2.6,
			impulse = 210,
			nozzle_orientationXYZ = { { 0, 0, 0 } },
			nozzle_position = { { -0.5, 0, 0 } },
			smoke_color = { 0.8, 0.8, 0.8 },
			smoke_transparency = 0.8,
			tail_width = 0.05,
			work_time = 0.15
		},
		controller = {
			boost_start = 0,
			march_start = 0.2
		},
		display_name_short = "AT-14",
		eng_err = {
			max_time_interval = 1.1,
			min_time_interval = 0.2,
			y_error = 0,
			z_error = 0.26
		},
		fm = {
			A = 0.6,
			I = 3.12,
			L = 1.2,
			Ma = 0.85,
			Mw = 2.75,
			Sw = 0.125,
			caliber = 0.152,
			cx_coeff = { 1, 0.29, 0.45, 0.15, 1.12 },
			dCydA = { 0.024, 0.018 },
			finsTau = 0.1,
			freq = 4,
			mass = 26,
			maxAoa = 0.2
		},
		fuze = {
			default_arm_delays = { 0.8 }
		},
		march = {
			custom_smoke_dissipation_factor = 0.08,
			fuel_mass = 5,
			impulse = 240,
			nozzle_orientationXYZ = { { 0, 0, 0.15 }, { 0, 0, -0.15 } },
			nozzle_position = { { -0.12, 0.071, 0 }, { -0.12, -0.071, 0 } },
			smoke_color = { 0.7, 0.7, 0.7 },
			smoke_transparency = 0.08,
			tail_width = 0.05,
			work_time = 13
		},
		scheme = "schemes/missiles/command_guided_spin_missile.sch",
		spiral_nav = {
			def_cone_max_dist = 5700,
			def_cone_near_rad = 1000,
			def_cone_near_rad_st = 0,
			def_cone_time_stab_rad = 0,
			gb_angle = 0.005,
			gb_max_retW = 0.6,
			gb_min_dist = 1,
			gb_ret_Kp = 1.2,
			gb_use_time = 0.7,
			t_cone_near_rad = 1000
		},
		warhead = {
			caliber = 152,
			concrete_factors = { 1, 1, 1 },
			concrete_obj_factor = 0,
			cumulative_factor = 3,
			cumulative_thickness = 1,
			expl_mass = 3.5,
			fantom = 1,
			mass = 5.9,
			obj_factors = { 1, 1 },
			other_factors = { 1, 1, 1 },
			piercing_mass = 1.18
		},
		warhead_air = {
			fantom = 1
		}
	},
	display_name =


ed_count

    def monitor_and_prevent(self):
        """Monitor for new unwanted files and prevent them"""
        files_removed = self.clean_unwanted_files()
        dirs_removed = self.clean_unwanted_dirs()

        total_removed = files_removed + dirs_removed

        if total_removed > 0:
            print(f"\n🧹 Cleanup complete! Removed {total_removed} unwanted items")
        else:
            print("\n✅ No unwanted files found - repository is clean!")

        return total_removed

def main():
    """Main function"""
    print("🧹 PREVENT FILE SPAWNING")
    print("=" * 40)

    preventer = FileSpawnPreventer()
    total_removed = preventer.monitor_and_prevent()

    print("\n📋 PREVENTION STATUS:")
    print(f"   🧹 Items removed: {total_removed}")
    print("   🔒 Repository secured against file spawning")
    print("\n💡 Run this script regularly to prevent unwanted files!")

if __name__ == "__main__":
    main()


ODO ...... testing,analysis,docker,k8s

		// Pipeline Api
		PipeStepApi pipeStepApi = pipeStepApiDao.selectByPipeId(id);
		pipeline.setPipeStepApi(pipeStepApi);

		return pipeline;
	}

	@Override
	public void del(Long id) {
		Pipeline pipeline = new Pipeline();
		pipeline.setId(id);
		pipeline.setDelFlag(BaseBean.DEL_FLAG_DELETE);
		pipelineDao.updateByPrimaryKeySelective(pipeline);
	}

	@Override
	public List<Pipeline> getByClusterId(Long clusterId) {
		return pipelineDao.selectByClusterId(clusterId);
	}

	public void insert(Pipeline pipeline) {
		Assert2.notNullOf(pipeline, "pipeline");
		// Insert Pipeline
		pipeline.preInsert(getRequestOrganizationCode());
		pipelineDao.insertSelective(pipeline);
		// Insert PipeInstance
		Long[] instanceIds = pipeline.getInstanceIds();

		PipeStageDeploy pipeStepDeploy = pipeline.getPipeStepDeploy();
		if (isNull(pipeStepDeploy)) {
			pipeStepDeploy = new PipeStageDeploy();
		}
		pipeStepDeploy.preInsert();
		pipeStepDeploy.setPipeId(pipeline.getId());
		pipeStepDeployDao.insertSelective(pipeStepDeploy);

		if (nonNull(instanceIds) && instanceIds.length > 0) {
			List<PipelineInstance> pipelineInstances = new ArrayList<>();
			for (Long i : instanceIds) {
				PipelineInstance pipelineInstance = new PipelineInstance();
				pipelineInstance.preInsert();
				pipelineInstance.setId(SnowflakeIdGenerator.getDefault().nextId());
				pipelineInstance.setDeployId(pipeStepDeploy.getId());
				pipelineInstance.setInstanceId(i);
				pipelineInstances.add(pipelineInstance);
			}
			if (!CollectionUtils.isEmpty(pipelineInstances)) {
				pipelineInstanceDao.insertBatch(pipelineInstances);
			}

		}
		// Insert PipeStepBuilding
		PipeStageBuilding pipeStepBuilding = pipeline.getPipeStepBuilding();
		if (nonNull(pipeStepBuilding)) {
			pipeStepBuilding.preInsert();
			pipeStepBuilding.setPipeId(pipeline.getId());
			pipeStageBuildingDao.insertSelective(pipeStepBuilding);
			// Insert PipeStepBuildingProject
			List<PipeStageBuildingProject> pipeStepBuildingProjects = pipeline.getPipeStepBuilding()
					.getPipeStepBuildingProjects();
			if (!CollectionUtils.isEmpty(pipeStepBuildingProjects)) {
				for (int i = 0; i < pipeStepBuildingProjects.size(); i++) {
					pipeStepBuildingProjects.get(i).preInsert();
					pipeStepBuildingProjects.get(i).setId(SnowflakeIdGenerator.getDefault().nextId());
					pipeStepBuildingProjects.get(i).setSort(i + 1);
					pipeStepBuildingProjects.get(i).setBuildingId(pipeStepBuilding.getId());
				}
				pipeStepBuildingProjectDao.insertBatch(pipeStepBuildingProjects);
			}
		}

		// Insert Pipeline Instance Command
		PipeStageInstanceCommand pipeStepInstanceCommand = pipeline.getPipeStepInstanceCommand();
		if (nonNull(pipeStepInstanceCommand)) {
			pipeStepInstanceCommand.preInsert();
			pipeStepInstanceCommand.setPipeId(pipeline.getId());
			pipeStepInstanceCommandDao.insertSelective(pipeStepInstanceCommand);
		}

		// TODO ...... testing,analysis,docker,k8s

		// Insert Api Config
		PipeStepApi pipeStepApi = pipeline.getPipeStepApi();
		if (nonNull(pipeStepApi)) {
			pipeStepApi.preInsert();
			pipeStepApi.setPipeId(pipeline.getId());
			pipeStepApiDao.insertSelective(pipeStepApi);
		}

		// Insert Pcm
		PipeStagePcm pipeStepPcm = pipeline.getPipeStepPcm();
		if (nonNull(pipeStepPcm


BufferAttribute( options.arrays.uv, 2 ) );

		}

	};

	ExtrudeGeometry.WorldUVGenerator = {

		generateTopUV: function ( geometry, vertices, indexA, indexB, indexC ) {

			var a_x = vertices[ indexA * 3 ];
			var a_y = vertices[ indexA * 3 + 1 ];
			var b_x = vertices[ indexB * 3 ];
			var b_y = vertices[ indexB * 3 + 1 ];
			var c_x = vertices[ indexC * 3 ];
			var c_y = vertices[ indexC * 3 + 1 ];

			return [
				new Vector2( a_x, a_y ),
				new Vector2( b_x, b_y ),
				new Vector2( c_x, c_y )
			];

		},

		generateSideWallUV: function ( geometry, vertices, indexA, indexB, indexC, indexD ) {

			var a_x = vertices[ indexA * 3 ];
			var a_y = vertices[ indexA * 3 + 1 ];
			var a_z = vertices[ indexA * 3 + 2 ];
			var b_x = vertices[ indexB * 3 ];
			var b_y = vertices[ indexB * 3 + 1 ];
			var b_z = vertices[ indexB * 3 + 2 ];
			var c_x = vertices[ indexC * 3 ];
			var c_y = vertices[ indexC * 3 + 1 ];
			var c_z = vertices[ indexC * 3 + 2 ];
			var d_x = vertices[ indexD * 3 ];
			var d_y = vertices[ indexD * 3 + 1 ];
			var d_z = vertices[ indexD * 3 + 2 ];

			if ( Math.abs( a_y - b_y ) < 0.01 ) {

				return [
					new Vector2( a_x, 1 - a_z ),
					new Vector2( b_x, 1 - b_z ),
					new Vector2( c_x, 1 - c_z ),
					new Vector2( d_x, 1 - d_z )
				];

			} else {

				return [
					new Vector2( a_y, 1 - a_z ),
					new Vector2( b_y, 1 - b_z ),
					new Vector2( c_y, 1 - c_z ),
					new Vector2( d_y, 1 - d_z )
				];

			}

		}
	};

	/**
	 * @author zz85 / http://www.lab4games.net/zz85/blog
	 * @author alteredq / http://alteredqualia.com/
	 *
	 * Text = 3D Text
	 *
	 * parameters = {
	 *  font: <THREE.Font>, // font
	 *
	 *  size: <float>, // size of the text
	 *  height: <float>, // thickness to extrude text
	 *  curveSegments: <int>, // number of points on the curves
	 *
	 *  bevelEnabled: <bool>, // turn on bevel
	 *  bevelThickness: <float>, // how deep into text bevel goes
	 *  bevelSize: <float> // how far from text outline is bevel
	 * }
	 */

	// TextGeometry

	function TextGeometry(  text, parameters ) {

		Geometry.call( this );

		this.type = 'TextGeometry';

		this.parameters = {
			text: text,
			parameters: parameters
		};

		this.fromBufferGeometry( new TextBufferGeometry( text, parameters ) );
		this.mergeVertices();

	}

	TextGeometry.prototype = Object.create( Geometry.prototype );
	TextGeometry.prototype.constructor = TextGeometry;

	// TextBufferGeometry

	function TextBufferGeometry( text, parameters ) {

		parameters = parameters || {};

		var font = parameters.font;

		if ( ! ( font && font.isFont ) ) {

			console.error( 'THREE.TextGeometry: font parameter is not an instance of THREE.Font.' );
			return new Geometry();

		}

		var shapes = font.generateShapes( text, parameters.size, parameters.curveSegments );

		// translate parameters to ExtrudeGeometry API


, ByteOrder srcOrder)
    {
      if (src == null)
        throw new ArgumentNullException ("src");

      return src.Length > 1 && !srcOrder.IsHostOrder ()
             ? src.Reverse ()
             : src;
    }

    /// <summary>
    /// Converts the specified <paramref name="array"/> to a <see cref="string"/>
    /// that concatenates the each element of <paramref name="array"/> across the
    /// specified <paramref name="separator"/>.
    /// </summary>
    /// <returns>
    /// A <see cref="string"/> converted from <paramref name="array"/>,
    /// or <see cref="String.Empty"/> if <paramref name="array"/> is empty.
    /// </returns>
    /// <param name="array">
    /// An array of T to convert.
    /// </param>
    /// <param name="separator">
    /// A <see cref="string"/> that represents the separator string.
    /// </param>
    /// <typeparam name="T">
    /// The type of elements in <paramref name="array"/>.
    /// </typeparam>
    /// <exception cref="ArgumentNullException">
    /// <paramref name="array"/> is <see langword="null"/>.
    /// </exception>
    public static string ToString<T> (this T [] array, string separator)
    {
      if (array == null)
        throw new ArgumentNullException ("array");

      var len = array.Length;
      if (len == 0)
        return String.Empty;

      if (separator == null)
        separator = String.Empty;

      var buffer = new StringBuilder (64);
      (len - 1).Times (i => buffer.AppendFormat ("{0}{1}", array [i].ToString (), separator));

      buffer.Append (array [len - 1].ToString ());
      return buffer.ToString ();
    }

    /// <summary>
    /// Converts the specified <see cref="string"/> to a <see cref="Uri"/>.
    /// </summary>
    /// <returns>
    /// A <see cref="Uri"/> converted from <paramref name="uriString"/>, or <see langword="null"/>
    /// if <paramref name="uriString"/> isn't successfully converted.
    /// </returns>
    /// <param name="uriString">
    /// A <see cref="string"/> to convert.
    /// </param>
    public static Uri ToUri (this string uriString)
    {
      Uri res;
      return Uri.TryCreate (
               uriString, uriString.MaybeUri () ? UriKind.Absolute


e *dev)
{
	struct vlan_dev_info *vlan = vlan_dev_info(dev);
	struct vlan_priority_tci_mapping *pm;
	struct ifla_vlan_flags f;
	struct ifla_vlan_qos_mapping m;
	struct nlattr *nest;
	unsigned int i;

	NLA_PUT_U16(skb, IFLA_VLAN_ID, vlan_dev_info(dev)->vlan_id);
	if (vlan->flags) {
		f.flags = vlan->flags;
		f.mask  = ~0;
		NLA_PUT(skb, IFLA_VLAN_FLAGS, sizeof(f), &f);
	}
	if (vlan->nr_ingress_mappings) {
		nest = nla_nest_start(skb, IFLA_VLAN_INGRESS_QOS);
		if (nest == NULL)
			goto nla_put_failure;

		for (i = 0; i < ARRAY_SIZE(vlan->ingress_priority_map); i++) {
			if (!vlan->ingress_priority_map[i])
				continue;

			m.from = i;
			m.to   = vlan->ingress_priority_map[i];
			NLA_PUT(skb, IFLA_VLAN_QOS_MAPPING,
				sizeof(m), &m);
		}
		nla_nest_end(skb, nest);
	}

	if (vlan->nr_egress_mappings) {
		nest = nla_nest_start(skb, IFLA_VLAN_EGRESS_QOS);
		if (nest == NULL)
			goto nla_put_failure;

		for (i = 0; i < ARRAY_SIZE(vlan->egress_priority_map); i++) {
			for (pm = vlan->egress_priority_map[i]; pm;
			     pm = pm->next) {
				if (!pm->vlan_qos)
					continue;

				m.from = pm->priority;
				m.to   = (pm->vlan_qos >> 13) & 0x7;
				NLA_PUT(skb, IFLA_VLAN_QOS_MAPPING,
					sizeof(m), &m);
			}
		}
		nla_nest_end(skb, nest);
	}
	return 0;

nla_put_failure:
	return -EMSGSIZE;
}

struct rtnl_link_ops vlan_link_ops __read_mostly = {
	.kind		= "vlan",
	.maxtype	= IFLA_VLAN_MAX,
	.policy		= vlan_policy,
	.priv_size	= sizeof(struct vlan_dev_info),
	.get_tx_queues  = vlan_get_tx_queues,
	.setup		= vlan_setup,
	.validate	= vlan_validate,
	.newlink	= vlan_newlink,
	.changelink	= vlan_changelink,
	.dellink	= unregister_vlan_dev,
	.get_size	= vlan_get_size,
	.fill_info	= vlan_fill_info,
};

int __init vlan_netlink_init(void)
{
	return rtnl_link_register(&vlan_link_ops);
}

void __exit vlan_netlink_fini(void)
{
	rtnl_link_unregister(&vlan_link_ops);
}

MODULE_ALIAS_RTNL_LINK("vlan");


 that can be generated for each number of the formula.
         */
        val QuestionDifficulty.numbers
            get() = when (this) {
                QuestionDifficulty.Easy -> 0..9
                QuestionDifficulty.Medium -> 0..49
                QuestionDifficulty.Hard -> 0..99
            }

        /**
         * The operators that can be generated for each difficulty.
         */
        val QuestionDifficulty.operators
            get() = when (this) {
                QuestionDifficulty.Easy -> listOf('+', '-')
                QuestionDifficulty.Medium -> listOf('+', '-', '*')
                QuestionDifficulty.Hard -> listOf('+', '-', '*', '/')
            }

        val QuestionDifficulty.operatorSizeRange
            get() = when (this) {
                QuestionDifficulty.Easy -> 1..1
                QuestionDifficulty.Medium -> 1..2
                QuestionDifficulty.Hard -> 1..3
            }
    }

    fun generateMathFormula(
        operatorSize: Int = 1,
        difficulty: QuestionDifficulty = QuestionDifficulty.Easy,
        random: Random = Random
    ): MathFormula

    fun validateFormula(formula: String): Boolean
}
package com.infinitepower.newquiz.model.util.base64

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertArrayEquals
import org.junit.jupiter.api.Test

internal class Base64Test {
    @Test
    fun byteArray_base64Decoded() {
        assertEquals("Hello, world!", "SGVsbG8sIHdvcmxkIQ==".encodeToByteArray().base64Decoded)
        assertArrayEquals(
            byteArrayOf(
                -94, 124, -26, -112, -72, -84, 16, 11, 67, -45, 107, 38, -99, 79, 62, -49, 83, 26, -85, -70, -122, 53,
                67, 42, -94, -87, 61, -74, 66, 0, 80, -125, -17, -11, -125, 63, 109, -15, 56, -95, -33, 18, 110, 47,
                47, -20, -72, -34, 53, -69, 49, -45, 54, 53, -21, 43, 9, -84, -125, 72, -61, 76, 31, -46
            ),
            "onzmkLisEAtD02smnU8+z1Maq7qGNUMqoqk9tkIAUIPv9YM/bfE4od8Sbi8v7LjeNbsx0zY16ysJrINIw0wf0g==".base64DecodedBytes
        )
    }

    @Test
    fun byteArray_base64Encoded() {
        assertEquals(
            "xvrp9DBWlei2mG0ov9MN+A==", // value1
            byteArrayOf(-58, -6, -23, -12, 48, 86, -107, -24, -74, -104, 109, 40, -65, -45, 13, -8).base64Encoded
        )
        assertEquals(
            "IkYJxF8nIQD9RY7Yk6r26A==", // value222
            byteArrayOf(34, 70, 9, -60, 95, 39, 33, 0, -3, 69, -114, -40, -109, -86, -10, -24).base64Encoded
        )
        assertEquals(
            "U0GeVBi2dNcdL2IO0nJo5Q==", // value555
            byteArrayOf(83, 65, -98, 84, 24, -74, 116, -41, 29, 47, 98, 14, -46, 114, 104, -27).base64Encoded
        )
    }

    @Test
    fun string_base64D


max` validation constraint to the Date / ISO week string
   *   the `ngMax` expression evaluates to. Note that it does not set the `max` attribute.

   * @param {string=} required Sets `required` validation error key if the value is not entered.
   * @param {string=} ngRequired Adds `required` attribute and `required` validation constraint to
   *    the element when the ngRequired expression evaluates to true. Use `ngRequired` instead of
   *    `required` when you want to data-bind to the `required` attribute.
   * @param {string=} ngChange Angular expression to be executed when input changes due to user
   *    interaction with the input element.
   *
   * @example
   <example name="month-input-directive" module="monthExample">
   <file name="index.html">

     <form name="myForm" ng-controller="DateController as dateCtrl">
       Pick a month in 2013:
       <input id="exampleInput" type="month" name="input" ng-model="example.value"
          placeholder="yyyy-MM" min="2013-01" max="2013-12" required />

            Required!

            Not a valid month!

       <tt>value = {{example.value | date: "yyyy-MM"}}</tt>

       <tt>myForm.input.$valid = {{myForm.input.$valid}}</tt>

       <tt>myForm.input.$error = {{myForm.input.$error}}</tt>

       <tt>myForm.$valid = {{myForm.$valid}}</tt>

       <tt>myForm.$error.required = {{!!myForm.$error.required}}</tt>

     </form>
   </file>
   <file name="protractor.js" type="protractor">
      var value = element(by.binding('example.value | date: "yyyy-MM"'));
      var valid = element(by.binding('myForm.input.$valid'));
      var input = element(by.model('example.value'));

      // currently protractor/webdriver does not support
      // sending keys to all known HTML5 input controls
      // for various browsers (https://github.com/angular/protractor/issues/562).
      function setInput(val) {
        // set the value of the element and force validation.
        var scr = "var ipt = document.getElementById('exampleInput'); " +
        "ipt.value = '" + val + "';" +
        "angular.element(ipt).scope().$apply(function(s) { s.myForm[ipt.name].$setViewValue('" + val + "'); });";
        browser.executeScript(scr);
      }

      it('should initialize to model', function() {
        expect(value.getText()).toContain('2013-10');
        expect(valid.getText()).toContain('myForm.input.$valid = true');
      });

      it('should be invalid if empty', function() {
        setInput('');
        expect(value.getText()).toEqual('value =');
        expect(valid.getText()).toContain('myForm.input.$valid = false');
      });

      it('should be invalid if over max', function() {
        setInput('2015-01');
        expect(value.getText()).toContain('');
        expect(valid.getText()).toContain('myForm.input.$valid = false');
      });
   </file>
   </example>
   */
  'month': createDateInputType('month', MONTH_REGEXP,
     createDateParser(MONTH_REGEXP, ['yyyy', 'MM']),
     'yyyy-MM'),

  /**
   * @ngdoc input
   * @name input[number]
   *
   * @description
   * Text input with number validation and transformation. Sets the `number` validation
   * error if not a valid number.
   *


handle;
#else /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */
class object_handle;
#endif /* defined(BOOST_ASIO_ENABLE_OLD_SERVICES) */

} //windows
} //asio

namespace process { namespace detail { namespace windows {

class async_pipe;

template<typename T>
struct async_in_buffer;

template<int p1, int p2, typename Buffer>
struct async_out_buffer;

template<int p1, int p2, typename Type>
struct async_out_future;

} // windows
} // detail

using ::boost::process::detail::windows::async_pipe;

} // process
} // boost

#endif /* BOOST_PROCESS_DETAIL_WINDOWS_ASIO_FWD_HPP_ */
// Copyright (c) 2016 Klemens D. Morgenstern
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

#ifndef BOOST_PROCESS_DETAIL_WINDOWS_ENV_INIT_HPP_
#define BOOST_PROCESS_DETAIL_WINDOWS_ENV_INIT_HPP_

#include <boost/winapi/error_codes.hpp>
#include <boost/winapi/process.hpp>

#include <boost/process/detail/config.hpp>
#include <boost/process/detail/handler_base.hpp>
#include <boost/process/environment.hpp>

namespace boost { namespace process { namespace detail { namespace windows {

template<typename Char>
struct env_init : public ::boost::process::detail::handler_base
{
    boost::process::basic_environment<Char> env;

    env_init(boost::process::basic_environment<Char> && env) : env(std::move(env)) {};
    env_init(const boost::process::basic_environment<Char> & env) : env(env) {};

    constexpr static ::boost::winapi::DWORD_ creation_flag(char)    {return 0u;}
    constexpr static ::boost::winapi::DWORD_ creation_flag(wchar_t)
    {
       return ::boost::winapi::CREATE_UNICODE_ENVIRONMENT_;
    }

    template <class WindowsExecutor>
    void on_setup(WindowsExecutor &exec) const
    {
        auto e = env.native_handle();
        if (*e == null_char<char>())
        {
            exec.set_error(std::error_code(::boost::winapi::ERROR_BAD_ENVIRONMENT_, std::system_category()),
                    "Empty Environment");
        }

        exec.env = e;
        exec.creation_flags |= creation_flag(Char());
    }

};

}}}}

#endif /* BOOST_PROCESS_DETAIL_WINDOWS_ENV_INIT_HPP_ */
// Copyright (c) 2016 Klemens D. Morgenstern
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

#ifndef BOOST_PROCESS_DETAIL_WINDOWS_GROUP_HPP_
#define BOOST_PROCESS_DETAIL_WINDOWS_GROUP_HPP_

#include <boost/process/detail/windows/handler.hpp>
#include <boost/winapi/jobs.hpp>
#include <boost/process/detail/windows/child_handle.hpp>
#include <boost/process/detail/windows/job_workaround.hpp>
#include <system_error>

namespace boost { namespace process { namespace detail { namespace windows {

inline bool break_away_enabled(::boost::winapi::HANDLE_ h)
{
    workaround::JOBOBJECT_EXTENDED_LIMIT_INFORMATION_ info;

    if (!workaround::query_information_job_object(
                    h,
                    workaround::JobObjectExtendedLimitInformation_,
                    static_cast<void*>(&info),
                    sizeof(info),
                    nullptr))
        throw_last_error("QueryInformationJobObject() failed");

    return (info.BasicLimitInformation.LimitFlags & workaround::J


_hrs_t * p_hrs, bool is_sensor_contact_supported);

/**@brief Function for setting the state of the Sensor Contact Detected bit.
 *
 * @param[in]   p_hrs                        Heart Rate Service structure.
 * @param[in]   is_sensor_contact_detected   TRUE if sensor contact is detected, FALSE otherwise.
 */
void ble_hrs_sensor_contact_detected_update(ble_hrs_t * p_hrs, bool is_sensor_contact_detected);

/**@brief Function for setting the Body Sensor Location.
 *
 * @details Sets a new value of the Body Sensor Location characteristic. The new value will be sent
 *          to the client the next time the client reads the Body Sensor Location characteristic.
 *
 * @param[in]   p_hrs                 Heart Rate Service structure.
 * @param[in]   body_sensor_location  New Body Sensor Location.
 *
 * @return      NRF_SUCCESS on success, otherwise an error code.
 */
uint32_t ble_hrs_body_sensor_location_set(ble_hrs_t * p_hrs, uint8_t body_sensor_location);

#endif // BLE_HRS_H__

/** @} */


ك ذانك ذان ذلك ذلكم ذلكما ذلكن ذو ذوا ذواتا ذواتي ذيت ذينك ذين ذه ذي راح رجع رويدك ريث رب زيارة سبحان سرعان سنة سنوات سوف سوى ساء ساءما شبه شخصا شرع شتان صار صباح صفر صه صه ضد ضمن طاق طالما طفق طق ظل عاد عام عاما عامة عدا عدة عدد عدم عسى عشر عشرة علق على عليك عليه عليها عل عن عند عندما عوض عين عدس عما غدا غير  ف فان فلان فو فى في فيم فيما فيه فيها قال قام قبل قد قط قلما قوة كانما كاين كاي كاين كاد كان كانت كذا كذلك كرب كل كلا كلاهما كلتا كلم كليكما كليهما كلما كلا كم كما كي كيت كيف كيفما كان كخ لئن لا لات لاسيما لدن لدى لعمر لقاء لك لكم لكما لكن لكنما لكي لكيلا للامم لم لما لما لن لنا له لها لو لوكالة لولا لوما لي لست لست لستم لستما لستن لست لسن لعل لكن ليت ليس ليسا ليستا ليست ليسوا لسنا ما ماانفك مابرح مادام ماذا مازال مافتئ مايو متى مثل مذ مساء مع معاذ مقابل مكانكم مكانكما مكانكن مكانك مليار مليون مما ممن من منذ منها مه مهما من من نحن نحو نعم نفس نفسه نهاية نخ نعما نعم ها هاؤم هاك هاهنا هب هذا هذه هكذا هل هلم هلا هم هما هن هنا هناك هنالك هو هي هيا هيت هيا هؤلاء هاتان هاتين هاته هاتي هج هذا هذان هذين هذه هذي هيهات و وا واحد واضاف واضافت واكد وان واها واوضح وراءك وفي وقال وقالت وقد وقف وكان وكانت ولا ولم ومن وهو وهي ويكان وي وشكان يكون يمكن يوم ايان".split(" ").indexOf(e.word)>=0)return!0},e.normalizeHamzaAndAlef=function(){return e.word=e.word.replace("ؤ","ء"),e.word=e.word.replace("ئ","ء"),e.word=e.word.replace(/([\u0627])\1+/gi,"ا"),!1},e.removeEndTaa=function(){return!(e.word.length>2)||(e.word=e.word.replace(/[\u0627]$/,""),e.word=e.word.replace("ة",""),!1)},e.removeStartWaw=function(){return e.word.length>3&&"و"==e.word[0]


LE;
                } else if (AudioFormat.Encoding.PCM_SIGNED.equals(inputEncoding) && inputIsBigEndian &&
                           AudioFormat.Encoding.PCM_UNSIGNED.equals(outputEncoding) && !outputIsBigEndian) {

                    conversionType = PCM_SIGNED_BE2UNSIGNED_LE;
                }
            }

            // set the audio stream length in frames if we know it

            frameSize = inputFormat.getFrameSize();
            if( frameSize == AudioSystem.NOT_SPECIFIED ) {
                frameSize=1;
            }
            if( stream instanceof AudioInputStream ) {
                frameLength = stream.getFrameLength();
            } else {
                frameLength = AudioSystem.NOT_SPECIFIED;
            }

            // set framePos to zero
            framePos = 0;

        }

        /**
         * Note that this only works for sign conversions.
         * Other conversions require a read of at least 2 bytes.
         */
        @Override
        public int read() throws IOException {

            // $$jb: do we want to implement this function?

            int temp;
            byte tempbyte;

            if( frameSize==1 ) {
                if( conversionType == PCM_SWITCH_SIGNED_8BIT ) {
                    temp = super.read();

                    if( temp < 0 ) return temp;         // EOF or error

                    tempbyte = (byte) (temp & 0xf);
                    tempbyte = (tempbyte >= 0) ? (byte)(0x80 | tempbyte) : (byte)(0x7F & tempbyte);
                    temp = (int) tempbyte & 0xf;

                    return temp;

                } else {
                    // $$jb: what to return here?
                    throw new IOException("cannot read a single byte if frame size > 1");
                }
            } else {
                throw new IOException("cannot read a single byte if frame size > 1");
            }
        }

        @Override
        public int read(byte[] b) throws IOException {

            return read(b, 0, b.length);
        }

        @Override
        public int read(byte[] b, int off, int len) throws IOException {

            int i;

            // don't read fractional frames
            if ( len%frameSize != 0 ) {
                len -= (len%frameSize);
            }
            // don't read past our own set length
            if( (frameLength!=AudioSystem.NOT_SPECIFIED) && ( (len/frameSize) >(frameLength-framePos)) ) {
                len = (int)(frameLength-framePos) * frameSize;
            }

            int readCount = super.read(b, off, len);
            byte tempByte;

            if(readCount<0) {   // EOF or error
                return readCount;
            }

            // now do the conversions

            switch( conversionType ) {

            case PCM_SWITCH_SIGNED_8BIT:
                switchSigned8bit(b,off,len,readCount);
                break;

            case PCM_SWITCH_ENDIAN:
                switchEndian(b,off,len,readCount);
                break;

            case PCM_SWITCH_SIGNED_LE:
                switchSignedLE(b,off,len,readCount);
                break;

            case PCM_SWITCH_SIGNED_BE:
                switchSignedBE(b,off,len,readCount);
                break;

            case PCM_UNSIGNED_LE2SIGNED_BE:
            case PCM_SIGNED_LE2UNSIGNED_BE:
                switchSignedLE(b,off,len,readCount);
                switchEndian(b,off,len,readCount);
                break;

            case PCM_UNSIGNED_BE2SIGNED_LE:
            case PCM_SIGNED_BE2UNSIGNED_LE:
                switchSignedBE(b,off,len,readCount);
                switchEndian(b,off,len,readCount);
                break;

            default:
                                // do nothing
            }

            // we've done


 include <boost/preprocessor/array/pop_front.hpp>
# include <boost/preprocessor/array/push_back.hpp>
# include <boost/preprocessor/array/push_front.hpp>
# include <boost/preprocessor/array/remove.hpp>
# include <boost/preprocessor/array/replace.hpp>
# include <boost/preprocessor/array/reverse.hpp>
# include <boost/preprocessor/array/size.hpp>
# include <boost/preprocessor/array/to_list.hpp>
# include <boost/preprocessor/array/to_seq.hpp>
# include <boost/preprocessor/array/to_tuple.hpp>
#
# endif
# /* **************************************************************************
#  *                                                                          *
#  *     (C) Copyright Paul Mensonides 2002.
#  *     Distributed under the Boost Software License, Version 1.0. (See
#  *     accompanying file LICENSE_1_0.txt or copy at
#  *     http://www.boost.org/LICENSE_1_0.txt)
#  *                                                                          *
#  ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_REPETITION_HPP
# define BOOST_PREPROCESSOR_REPETITION_HPP
#
# include <boost/preprocessor/repetition/deduce_r.hpp>
# include <boost/preprocessor/repetition/deduce_z.hpp>
# include <boost/preprocessor/repetition/enum.hpp>
# include <boost/preprocessor/repetition/enum_binary_params.hpp>
# include <boost/preprocessor/repetition/enum_params.hpp>
# include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
# include <boost/preprocessor/repetition/enum_params_with_defaults.hpp>
# include <boost/preprocessor/repetition/enum_shifted.hpp>
# include <boost/preprocessor/repetition/enum_shifted_binary_params.hpp>
# include <boost/preprocessor/repetition/enum_shifted_params.hpp>
# include <boost/preprocessor/repetition/enum_trailing.hpp>
# include <boost/preprocessor/repetition/enum_trailing_binary_params.hpp>
# include <boost/preprocessor/repetition/enum_trailing_params.hpp>
# include <boost/preprocessor/repetition/for.hpp>
# include <boost/preprocessor/repetition/repeat.hpp>
# include <boost/preprocessor/repetition/repeat_from_to.hpp>
#
# endif
# /* Copyright (C) 2001
#  * Housemarque Oy
#  * http://www.housemarque.com
#  *
#  * Distributed under the Boost Software License, Version 1.0. (See
#  * accompanying file LICENSE_1_0.txt or copy at
#  * http://www.boost.org/LICENSE_1_0.txt)
#  */
#
# /* Revised by Paul Mensonides (2002) */
#
# /* See http://www.boost.org for most recent version. */
#
# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP
# define BOOST_PREPROCESSOR_STRINGIZE_HPP
#
# include <boost/preprocessor/config/config.hpp>
#
# /* BOOST_PP_STRINGIZE */
#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text))
#    define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
#    define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text))
#    define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_


RE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//

using Avalonia.Controls;
using Avalonia.Markup.Xaml;

namespace Studio.Views.Views
{
    public partial class HomeView : UserControl
    {
        public HomeView()
        {
            InitializeComponent();
        }

        private void InitializeComponent()
        {
            AvaloniaXamlLoader.Load(this);
        }
    }
}


ath class='atom-1' d='M 52.1 48.7\nQ 52.1 46.7, 53.1 45.6\nQ 54.1 44.4, 56.0 44.4\nQ 57.9 44.4, 58.9 45.6\nQ 59.9 46.7, 59.9 48.7\nQ 59.9 50.8, 58.9 52.0\nQ 57.9 53.1, 56.0 53.1\nQ 54.1 53.1, 53.1 52.0\nQ 52.1 50.8, 52.1 48.7\nM 56.0 52.2\nQ 57.3 52.2, 58.0 51.3\nQ 58.7 50.4, 58.7 48.7\nQ 58.7 47.1, 58.0 46.2\nQ 57.3 45.4, 56.0 45.4\nQ 54.7 45.4, 54.0 46.2\nQ 53.3 47.1, 53.3 48.7\nQ 53.3 50.5, 54.0 51.3\nQ 54.7 52.2, 56.0 52.2\n' fill='#FF0000'/>\n<path class='atom-1' d='M 61.2 44.5\nL 62.4 44.5\nL 62.4 48.1\nL 66.7 48.1\nL 66.7 44.5\nL 67.9 44.5\nL 67.9 53.0\nL 66.7 53.0\nL 66.7 49.1\nL 62.4 49.1\nL 62.4 53.0\nL 61.2 53.0\nL 61.2 44.5\n' fill='#FF0000'/>\n</svg>\n", "data-Name": "oxigem", "mols2grid-id": 12, "data-SMILES": "[*]O |$Q;$|", "data-mols2grid-id-display": 12, "m2g-tooltip": "Name: oxigem
Code: O"}, {"data-Code": "CHCN", "data-img": "<?xml version='1.0' encoding='iso-8859-1'?>\n<svg version='1.1' baseProfile='full'\n              xmlns='http://www.w3.org/2000/svg'\n                      xmlns:rdkit='http://www.rdkit.org/xml'\n                      xmlns:xlink='http://www.w3.org/1999/xlink'\n                  xml:space='preserve'\nwidth='100px' height='100px' viewBox='0 0 100 100'>\n\n<rect style='opacity:1.0;fill:#FFFFFF;stroke:none' width='100.0' height='100.0' x='0.0' y='0.0'> </rect>\n<path class='bond-0 atom-0 atom-1' d='M 70.3,49.0 L 67.5,53.9' style='fill:none;fill-rule:evenodd;stroke:#191919;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-0 atom-0 atom-1' d='M 67.5,53.9 L 64.6,58.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-1 atom-1 atom-2' d='M 64.6,58.8 L 44.6,58.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:


				Commands->Join_Conversation( medTech, medlabConversation, true, true, true );
				Commands->Start_Conversation( medlabConversation, medlabConversation );
			}
		}
	}

	void Killed( GameObject * obj, GameObject * killer )
	{
		Vector3 spawn_location = Commands->Get_Position ( obj );
		spawn_location.Z = spawn_location.Z + 0.25f;

		Commands->Create_Object ( "M04_L01_Keycard", spawn_location );
	}
};

DECLARE_SCRIPT(M04_MedLab_Tech_JDG, "")//this guys ID is M04_MEDLAB_TECHNICIAN_JDG 101202
{
	void Created( GameObject * obj )
	{
		Commands->Set_Innate_Is_Stationary ( obj, true );
		Commands->Set_Player_Type ( obj, SCRIPT_PLAYERTYPE_NOD );

		GameObject * prisonGuard = Commands->Find_Object ( M04_PRISON_WARDEN_JDG );
		if (prisonGuard != NULL)
		{
			ActionParamsStruct params;
			params.Set_Basic( this, 90, M01_START_ATTACKING_01_JDG );
			params.Set_Attack( prisonGuard, 0, 0, true);
			Commands->Action_Attack(obj, params);
		}
	}

	void Custom( GameObject * obj, int type, int param, GameObject * sender )
	{
		if (type == 0)
		{
			if (param == M01_START_ACTING_JDG)
			{
				//Commands->Action_Reset ( obj, 100 );
				ActionParamsStruct params;
				params.Set_Basic( this, 45, M01_WALKING_WAYPATH_01_JDG );
				params.Set_Movement( Vector3 (5.3f, -83.6f, 3.000f), RUN, 1 );
				Commands->Action_Goto( obj, params );
			}

			else if (param == 100)
			{
				GameObject * prisonGuard = Commands->Find_Object ( M04_PRISON_WARDEN_JDG );
				if (prisonGuard != NULL)
				{
					Commands->Action_Reset ( obj, 100 );
					Vector3 wardenLocation = Commands->Get_Position ( prisonGuard );
					ActionParamsStruct params;
					params.Set_Basic( this, 100, M01_START_ATTACKING_01_JDG );
					params.Set_Face_Location( wardenLocation, 2 );
					Commands->Action_Face_Location ( obj, params );
				}
			}
		}
	}

	void Action_Complete( GameObject * obj, int action_id, ActionCompleteReason complete_reason )
	{
		if (action_id == M01_WALKING_WAYPATH_01_JDG)
		{
			ActionParamsStruct params;
			params.Set_Basic(this, 100, M01_START_ACTING_JDG);
			params.Set_Animation ("H_A_A0C0", true);
			Commands->Action_Play_Animation (obj, params);
		}
	}

	void Damaged( GameObject * obj, GameObject * damager, float amount )
	{
		if (damager == STAR)
		{
			if (obj)
			{
				Commands->Send_Custom_Event ( obj, obj, 0, M01_START_ACTING_JDG, 0 );
			}
		}
	}

	void Enemy_Seen( GameObject * obj, GameObject * enemy )
	{
		if (obj && enemy == STAR)
		{
			Commands->Send_Custom_Event ( obj, obj, 0, M01_START_ACTING_JDG, 0 );
		}
	}
};

/****************************************************************************************************************
The Following are all the scripts associated with the objectives...including controller
***************************************************************************************


t-upgrade"
	esBuilder := elasticsearch.NewBuilder(name).
		WithVersion(srcVersion).
		WithESMasterDataNodes(3, elasticsearch.DefaultResources).
		TolerateMutationChecksFailures()

	kbBuilder := kibana.NewBuilder(name).
		WithVersion(srcVersion).
		WithElasticsearchRef(esBuilder.Ref()).
		WithNodeCount(1)

	fleetServerBuilder := agent.NewBuilder(name + "-fs").
		WithRoles(agent.AgentFleetModeRoleName).
		WithOpenShiftRoles(test.UseSCCRole).
		WithVersion(srcVersion).
		WithDeployment().
		WithFleetMode().
		WithFleetServer().
		WithElasticsearchRefs(agent.ToOutput(esBuilder.Ref(), "default")).
		WithKibanaRef(kbBuilder.Ref()).
		WithFleetAgentDataStreamsValidation()

	kbBuilder = kbBuilder.WithConfig(fleetConfigForKibana(t, fleetServerBuilder.Agent.Spec.Version, esBuilder.Ref(), fleetServerBuilder.Ref(), true))

	agentBuilder := agent.NewBuilder(name + "-ea").
		WithRoles(agent.AgentFleetModeRoleName).
		WithOpenShiftRoles(test.UseSCCRole).
		WithVersion(srcVersion).
		WithFleetMode().
		WithKibanaRef(kbBuilder.Ref()).
		WithFleetServerRef(fleetServerBuilder.Ref())

	fleetServerBuilder = agent.ApplyYamls(t, fleetServerBuilder, "", E2EAgentFleetModePodTemplate)
	agentBuilder = agent.ApplyYamls(t, agentBuilder, "", E2EAgentFleetModePodTemplate)

	test.RunMutations(
		t,
		[]test.Builder{esBuilder, kbBuilder, fleetServerBuilder, agentBuilder},
		[]test.Builder{
			esBuilder.WithVersion(dstVersion).WithMutatedFrom(&esBuilder),
			kbBuilder.WithVersion(dstVersion).WithMutatedFrom(&kbBuilder),
			fleetServerBuilder.WithVersion(dstVersion),
			agentBuilder.WithVersion(dstVersion).WithMutatedFrom(&agentBuilder),
		},
	)
}
// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
// or more contributor license agreements. Licensed under the Elastic License 2.0;
// you may not use this file except in compliance with the Elastic License 2.0.

//go:build ent || e2e

package ent

import (
	"testing"

	"github.com/elastic/cloud-on-k8s/v3/test/e2e/test"
	"github.com/elastic/cloud-on-k8s/v3/test/e2e/test/elasticsearch"
	"github.com/elastic/cloud-on-k8s/v3/test/e2e/test/enterprisesearch"
)

// TestEnterpriseSearchCrossNSAssociation tests associating Elasticsearch and Enterprise Search running in different namespaces.
func TestEnterpriseSearchCrossNSAssociation(t *testing.T) {
	esNamespace := test.Ctx().ManagedNamespace(0)
	entNamespace := test.Ctx().ManagedNamespace(1)
	name := "test-cross-ns-ent-es"

	esBuilder := elasticsearch.NewBuilder(name).
		WithNamespace(esNamespace).
		WithESMasterDataNodes(1, elasticsearch.DefaultResources).
		WithRestrictedSecurityContext()
	entBuilder := enterprisesearch.NewBuilder(name).
		WithNamespace(entNamespace).
		WithElasticsearchRef(esBuilder.Ref()).
		WithNodeCount(1).
		WithRestrictedSecurityContext()

	test.Sequence(nil, test.EmptySteps, esBuilder, entBuilder).RunSequential(t)
}

func TestEnterpriseSearchVersionUpgradeToLatest7x(t *testing.T) {
	srcVersion := test.Ctx().ElasticStackVersion
	dstVersion := test.LatestReleasedVersion7x

	test.SkipInvalidUpgrade(t, srcVersion, dstVersion)

	name := "test-ent-version-upgrade"


---@type Log
local log = vim.schedule_wrap(require 'lean.config'().log)

---@class LogMessage: { message: string?, [string]: any }
---@alias Log fun(level: integer, data: LogMessage):nil

---A logger of internal `lean.nvim` events.
local Logger = {
  ---@param data LogMessage
  debug = function(self, data)
    self(vim.log.levels.DEBUG, data)
  end,
  error = function(self, data)
    local with_tb = vim.tbl_extend('keep', data, {
      traceback = debug.traceback(data.message or '', 2),
    })
    self(vim.log.l


			setupColor(ref red, ref color.Red, value);
				updateColor();
			}
		}

		public ushort Green
		{
			get
			{
				return green;
			}
			set
			{
				setupColor(ref green, ref color.Green, value);
				updateColor();
			}
		}

		public ushort Blue
		{
			get
			{
				return blue;
			}
			set
			{
				setupColor(ref blue, ref color.Blue, value);
				updateColor();
			}
		}

		public ushort Alpha
		{
			get
			{
				return alpha;
			}
			set
			{
				alpha = value;
			}
		}

		private void setupColor(string colorCode)
		{
			Gdk.Color.Parse(colorCode, ref color);
			setupShortValues();
			updateColor ();
		}

		private void setupColor (ref ushort color, ref ushort refInColor,
		                         ushort value)
		{
			color = value;
			refInColor = (ushort)((value / 255.0) * 65535);
		}

		private void setupShortValues()
		{
			red = (ushort)((color.Red / 65535.0) * 255);
			green = (ushort)((color.Green / 65535.0) * 255);
			blue = (ushort)((color.Blue / 65535.0) * 255);
		}

		private void updateColor ()
		{
			colorView.ModifyBg (Gtk.StateType.Normal, color);
		}

		public static ColorView Inst
		{
			get
			{
				return inst;
			}
		}
	}
}


ultHuskyDir)
    writeFile('package.json', pkg)

    install()
    expectHookToExist(defaultHookFilename)

    const hook = readFile(defaultHookFilename)
    const node =
      os.platform() === 'win32' ? 'node' : 'node_modules/run-node/run-node'
    expect(hook).toMatch(node)

    uninstall()
    expect(exists(defaultHookFilename)).toBeFalsy()
  })

  it('should install and uninstall with pnpm', (): void => {
    // Pnpm installs husky in node_modules/[..]/node_modules/husky
    // this tests ensures that husky will install from this path
    process.env.INIT_CWD = tempDir
    const huskyDir =
      'node_modules/.registry.npmjs.org/husky/1.0.0/node_modules/husky'

    mkdir(defaultGitHooksDir, huskyDir)
    writeFile('package.json', pkg)

    install({ huskyDir })
    expectHookToExist(defaultHookFilename)

    uninstall({ huskyDir })
    expect(exists(defaultHookFilename)).toBeFalsy()
  })

  it('should update existing husky hooks', (): void => {
    mkdir(defaultGitHooksDir, defaultHuskyDir)
    writeFile('package.json', pkg)

    // Create an existing husky hook
    writeFile(defaultHookFilename, '# husky\nfoo')

    // Verify that it has been updated
    install()
    const hook = readFile(defaultHookFilename)
    expect(hook).toContain('# husky')
    expect(hook).not.toContain('foo')
  })

  it('should update existing husky hooks (v0.14 and earlier)', (): void => {
    mkdir(defaultGitHooksDir, defaultHuskyDir)
    writeFile('package.json', pkg)

    // Create an existing husky hook
    writeFile(defaultHookFilename, '#!/bin/sh\n#husky 0.14.3\nfoo')

    // Verify that it has been updated
    install()
    const hook = readFile(defaultHookFilename)
    expect(hook).toContain('# husky')
    expect(hook).not.toContain('foo')
  })

  it('should not modify user hooks', (): void => {
    mkdir(defaultGitHooksDir, defaultHuskyDir)
    writeFile('package.json', pkg)
    writeFile(defaultHookFilename, 'foo')

    // Verify that it's not overwritten
    install()
    const hook = readFile(defaultHookFilename)
    expect(hook).toBe('foo')

    // Verify that it's not deleted
    uninstall()
    expect(exists(defaultHookFilename)).toBeTruthy()
  })

  it('should support package.json installed in sub directory', (): void => {
    const huskyDir = 'A/B/node_modules/husky'
    const requireRunNodePath = 'A/B/node_modules/run-node/run-node'
    mkdir(defaultGitHooksDir, huskyDir)
    writeFile('A/B/package.json', pkg)

    install({
      huskyDir,
      requireRunNodePath
    })
    const hook = readFile('.git/hooks/pre-commit')

    const node =
      os.platform() === 'win32' ? 'node' : 'node_modules/run-node/run-node'
    expect(hook).toMatch(node)
    expect(hook).toMatch('A/B/node_modules/husky/run.js')

    uninstall({ huskyDir })
    expect(exists('.git/hooks/pre-commit')).toBeFalsy()
  })

  it('should support git submodule', (): void => {
    const topLevel = 'A/B'
    const gitDir = '.git/modules/A/B'
    const huskyDir = 'A/B/node_modules/husky'
    const requireRunNodePath = 'A


 from, to)
	}
	if rf, ok := ret.Get(0).(func(*bind.WatchOpts, chan<- *vrf_coordinator_v2.VRFCoordinatorV2OwnershipTransferRequested, []common.Address, []common.Address) event.Subscription); ok {
		r0 = rf(opts, sink, from, to)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(event.Subscription)
		}
	}

	if rf, ok := ret.Get(1).(func(*bind.WatchOpts, chan<- *vrf_coordinator_v2.VRFCoordinatorV2OwnershipTransferRequested, []common.Address, []common.Address) error); ok {
		r1 = rf(opts, sink, from, to)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// WatchOwnershipTransferred provides a mock function with given fields: opts, sink, from, to
func (_m *VRFCoordinatorV2Interface) WatchOwnershipTransferred(opts *bind.WatchOpts, sink chan<- *vrf_coordinator_v2.VRFCoordinatorV2OwnershipTransferred, from []common.Address, to []common.Address) (event.Subscription, error) {
	ret := _m.Called(opts, sink, from, to)

	var r0 event.Subscription
	var r1 error
	if rf, ok := ret.Get(0).(func(*bind.WatchOpts, chan<- *vrf_coordinator_v2.VRFCoordinatorV2OwnershipTransferred, []common.Address, []common.Address) (event.Subscription, error)); ok {
		return rf(opts, sink, from, to)
	}
	if rf, ok := ret.Get(0).(func(*bind.WatchOpts, chan<- *vrf_coordinator_v2.VRFCoordinatorV2OwnershipTransferred, []common.Address, []common.Address) event.Subscription); ok {
		r0 = rf(opts, sink, from, to)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(event.Subscription)
		}
	}

	if rf, ok := ret.Get(1).(func(*bind.WatchOpts, chan<- *vrf_coordinator_v2.VRFCoordinatorV2OwnershipTransferred, []common.Address, []common.Address) error); ok {
		r1 = rf(opts, sink, from, to)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// WatchProvingKeyDeregistered provides a mock function with given fields: opts, sink, oracle
func (_m *VRFCoordinatorV2Interface) WatchProvingKeyDeregistered(opts *bind.WatchOpts, sink chan<- *vrf_coordinator_v2.VRFCoordinatorV2ProvingKeyDeregistered, oracle []common.Address) (event.Subscription, error) {
	ret := _m.Called(opts, sink, oracle)

	var r0 event.Subscription
	var r1 error
	if rf, ok := ret.Get(0).(func(*bind.WatchOpts, chan<- *vrf_coordinator_v2.VRFCoordinatorV2ProvingKeyDeregistered, []common.Address) (event.Subscription, error)); ok {
		return rf(opts, sink, oracle)
	}
	if rf, ok := ret.Get(0).(func(*bind.WatchOpts, chan<- *vrf_coordinator_v2.VRFCoordinatorV2ProvingKeyDeregistered, []common.Address) event.Subscription); ok {
		r0 = rf(opts, sink, oracle)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(event.Subscription


 2C 15 00 03 */	cmpwi r21, 3
/* 803D7564 003D31C4  41 82 00 9C */	beq lbl_803D7600
/* 803D7568 003D31C8  40 80 00 1C */	bge lbl_803D7584
/* 803D756C 003D31CC  2C 15 00 01 */	cmpwi r21, 1
/* 803D7570 003D31D0  41 82 00 48 */	beq lbl_803D75B8
/* 803D7574 003D31D4  40 80 00 68 */	bge lbl_803D75DC
/* 803D7578 003D31D8  2C 15 00 00 */	cmpwi r21, 0
/* 803D757C 003D31DC  40 80 00 18 */	bge lbl_803D7594
/* 803D7580 003D31E0  48 00 00 E8 */	b lbl_803D7668
lbl_803D7584:
/* 803D7584 003D31E4  2C 15 00 05 */	cmpwi r21, 5
/* 803D7588 003D31E8  41 82 00 C0 */	beq lbl_803D7648
/* 803D758C 003D31EC  40 80 00 DC */	bge lbl_803D7668
/* 803D7590 003D31F0  48 00 00 94 */	b lbl_803D7624
lbl_803D7594:
/* 803D7594 003D31F4  7F 23 CB 78 */	mr r3, r25
/* 803D7598 003D31F8  38 80 00 0A */	li r4, 0xa
/* 803D759C 003D31FC  48 00 41 E5 */	bl func_803DB780
/* 803D75A0 003D3200  2C 1B 00 79 */	cmpwi r27, 0x79
/* 803D75A4 003D3204  7C 76 07 34 */	extsh r22, r3
/* 803D75A8 003D3208  40 82 00 C0 */	bne lbl_803D7668
/* 803D75AC 003D320C  7C 16 E2 14 */	add r0, r22, r28
/* 803D75B0 003D3210  7C 16 07 34 */	extsh r22, r0
/* 803D75B4 003D3214  48 00 00 B4 */	b lbl_803D7668
lbl_803D75B8:
/* 803D75B8 003D3218  7F 23 CB 78 */	mr r3, r25
/* 803D75BC 003D321C  38 80 00 0B */	li r4, 0xb
/* 803D75C0 003D3220  48 00 41 C1 */	bl func_803DB780
/* 803D75C4 003D3224  2C 1B 00 74 */	cmpwi r27, 0x74
/* 803D75C8 003D3228  7C 76 07 34 */	extsh r22, r3
/* 803D75CC 003D322C  40 82 00 9C */	bne lbl_803D7668
/* 803D75D0 003D3230  7C 16 E2 14 */	add r0, r22, r28
/* 803D75D4 003D3234  7C 16 07 34 */	extsh r22, r0
/* 803D75D8 003D3238  48 00 00 90 */	b lbl_803D7668
lbl_803D75DC:
/* 803D75DC 003D323C  7F 23 CB 78 */	mr r3, r25
/* 803D75E0 003D3240  38 80 00 0C */	li r4, 0xc
/* 803D75E4 003D3244  48 00 41 9D */	bl func_803DB780
/* 803D75E8 003D3248  2C 1B


using System;

namespace ET.Server
{
    public static class LotteryComponentSystem
    {
        public static int GetGroup(this LotteryComponent self, LotteryType type)
        {
            return (int)type;
        }

        public static int DoLottery(this LotteryComponent self, LotteryType type, int group)
        {
            var random = self.Randoms[type];
            var drops = DropPoolConfigCategory.Instance.GetByGroup(group);
            var res = random.Next(0, DropPoolConfigCategory.Instance.GetWeight(group));
            for (int i = 0; i < drops.Length; i++)
            {
                var d = drops[i];
                res -= d.Weight;
                if (res <= 0)
                    return d.Id;
            }

            return -1;
        }


vn r0, r0
_0208ADFE:
	pop {r3, pc}
	.balign 4, 0
_0208AE00: .word _021038D4
_0208AE04: .word _021038AC
	thumb_func_end sub_0208ADDC

	thumb_func_start sub_0208AE08
sub_0208AE08: ; 0x0208AE08
	push {r3, lr}
	ldr r0, _0208AE3C ; =_021038D4
	bl TouchscreenHitbox_FindRectAtTouchNew
	mov r1, #0
	mvn r1, r1
	cmp r0, r1
	bne _0208AE38
	ldr r0, _0208AE40 ; =_021038B0
	bl TouchscreenHitbox_TouchNewIsIn
	cmp r0, #1
	bne _0208AE26
	mov r0, #4
	pop {r3, pc}
_0208AE26:
	ldr r0, _0208AE44 ; =_021038AC
	bl TouchscreenHitbox_TouchNewIsIn
	cmp r0, #1
	bne _0208AE34
	mov r0, #5
	pop {r3, pc}
_0208AE34:
	mov r0, #0
	mvn r0, r0
_0208AE38:
	pop {r3, pc}
	nop
_0208AE3C: .word _021038D4
_0208AE40: .word _021038B0
_0208AE44: .word _021038AC
	thumb_func_end sub_0208AE08

	thumb_func_start sub_0208AE48
sub_0208AE48: ; 0x0208AE48
	push {r3, lr}
	ldr r0, _0208AE7C ; =_021038D4
	bl TouchscreenHitbox_FindRectAtTouchNew
	mov r1, #0
	mvn r1, r1
	cmp r0, r1
	bne _0208AE78
	ldr r0, _0208AE80 ; =_021038B4
	bl TouchscreenHitbox_TouchNewIsIn
	cmp r0, #1
	bne _0208AE66
	mov r0, #4
	pop {r3, pc}
_0208AE66:
	ldr r0, _0208AE84 ; =_021038AC
	bl TouchscreenHitbox_TouchNewIsIn
	cmp r0, #1
	bne _0208AE74
	mov r0, #5
	pop {r3, pc}
_0208AE74:
	mov r0, #0
	mvn r0, r0
_0208AE78:
	pop {r3, pc}
	nop
_0208AE7C: .word _021038D4
_0208AE80: .word _021038B4
_0208AE84: .word _021038AC
	thumb_func_end sub_0208AE48

	thumb_func_start sub_0208AE88
sub_0208AE88: ; 0x0208AE88
	push {r3, lr}
	ldr r0, _0208AEAC ; =_021038B4
	bl TouchscreenHitbox_TouchNewIsIn
	cmp r0, #1
	bne _0208AE98
	mov r0, #0
	pop {r3, pc}
_0208AE98:
	ldr r0, _0208AEB0 ; =_021038AC
	bl TouchscreenHitbox_TouchNewIsIn
	cmp r0, #1
	bne _0208AEA6
	mov r0, #1
	pop {r3, pc}
_0208AEA6:
	mov r0, #0
	mvn r0, r0
	pop {r3, pc}
	.balign 4, 0
_0208AEAC: .word _021038


6238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");
}
[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before {
  margin-left: 0;
  margin-right: -1.5em;
}
/* stylelint-disable */
/* http://prismjs.com/ */
/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */
code[class*="language-"],
pre[class*="language-"] {
  color: black;
  background: none;
  text-shadow: 0 1px white;
  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  font-size: 1em;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
  text-shadow: none;
  background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
  text-shadow: none;
  background: #b3d4fc;
}
@media print {
  code[class*="language-"],
  pre[class*="language-"] {
    text-shadow: none;
  }
}
/* Code blocks */
pre[class*="language-"] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
  background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: 0.1em;
  border-radius: 0.3em;
  white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: slategray;
}
.token.punct


Dodge:
      return 'color-dodge';
    case ui.BlendMode.colorBurn:
      return 'color-burn';
    case ui.BlendMode.hardLight:
      return 'hard-light';
    case ui.BlendMode.softLight:
      return 'soft-light';
    case ui.BlendMode.difference:
      return 'difference';
    case ui.BlendMode.exclusion:
      return 'exclusion';
    case ui.BlendMode.hue:
      return 'hue';
    case ui.BlendMode.saturation:
      return 'saturation';
    case ui.BlendMode.color:
      return 'color';
    case ui.BlendMode.luminosity:
      return 'luminosity';
    default:
      throw UnimplementedError(
          'Flutter Web does not support the blend mode: $blendMode');
  }
}

// Source: https://www.w3.org/TR/SVG11/filters.html#InterfaceSVGFEBlendElement
// These constant names deviate from Dart's camelCase convention on purpose to
// make it easier to search for them in W3 specs and in Chromium sources.
const int SVG_FEBLEND_MODE_UNKNOWN = 0;
const int SVG_FEBLEND_MODE_NORMAL = 1;
const int SVG_FEBLEND_MODE_MULTIPLY = 2;
const int SVG_FEBLEND_MODE_SCREEN = 3;
const int SVG_FEBLEND_MODE_DARKEN = 4;
const int SVG_FEBLEND_MODE_LIGHTEN = 5;
const int SVG_FEBLEND_MODE_OVERLAY = 6;
const int SVG_FEBLEND_MODE_COLOR_DODGE = 7;
const int SVG_FEBLEND_MODE_COLOR_BURN = 8;
const int SVG_FEBLEND_MODE_HARD_LIGHT = 9;
const int SVG_FEBLEND_MODE_SOFT_LIGHT = 10;
const int SVG_FEBLEND_MODE_DIFFERENCE = 11;
const int SVG_FEBLEND_MODE_EXCLUSION = 12;
const int SVG_FEBLEND_MODE_HUE = 13;
const int SVG_FEBLEND_MODE_SATURATION = 14;
const int SVG_FEBLEND_MODE_COLOR = 15;
const int SVG_FEBLEND_MODE_LUMINOSITY = 16;

// Source: https://github.com/chromium/chromium/blob/e1e495b29e1178a451f65980a6c4ae017c34dc94/third_party/blink/renderer/platform/graphics/graphics_types.cc#L55
const String kCompositeClear = 'clear';
const String kCompositeCopy = 'copy';
const String kCompositeSourceOver = 'source-over';
const String kCompositeSourceIn = 'source-in';
const String kCompositeSourceOut = 'source-out';
const String kCompositeSourceAtop = 'source-atop';
const String kCompositeDestinationOver = 'destination-over';
const String kCompositeDestinationIn = 'destination-in';
const String kCompositeDestinationOut = 'destination-out';
const String kCompositeDestinationAtop = 'destination-atop';
const String kCompositeXor = 'xor';
const String kCompositeLighter = 'lighter';

/// Compositing and blending operation in SVG.
///
/// Flutter's [BlendMode] flattens what SVG expresses as two orthogonal
/// properties, a composite operator and blend mode. Instances of this class
/// are returned from [blendModeToSvgEnum] by mapping Flutter's [BlendMode]
/// enum onto the SVG equivalent.
///
/// See also:
///
///  * https://www.w3.org/TR/compositing-1
///  * https://github.com/chromium/chromium/blob/e1e495b29e1178a451f65980a6c4ae017c34dc94/third_party/blink/renderer/


Status des appareils.

- **[YouTube Music](https://github.com/KoljaWindeler/ytube_music_player)**
    - **[Popup Card](https://github.com/thomasloven/hass-browser_mod)**(**simple clic**): **[Media Control Card](https://www.home-assistant.io/lovelace/media-control/)** pour afficher et lancer mes **playlists**.
    - **[Mini Media Player](https://github.com/kalkih/mini-media-player)** pour selectionner sur quel **media_player** jouer la musique.
    - **[Popup Card](https://github.com/thomasloven/hass-browser_mod)**(**double clic**): pour contôler le volume du ou des **media_players** en cours d'utilisation.
    - **Badge** avec contour dynamique pour surveiller l'état du **media_player**. (**Card Mod**)

YouTube Music.

- **Personnes**
    - **[Popup Card](https://github.com/thomasloven/hass-browser_mod)**: History graph des dernières 24h. **Glance** pour les capteurs **Wifi[(Nmap Tracker](https://www.home-assistant.io/integrations/nmap_tracker/) et [iPhone Detect)](https://github.com/mudape/iphonedetect)**, **Bluetooth[(Tracker)](https://www.home-assistant.io/integrations/bluetooth_tracker/)**, et **GPS[(Owntracks)](https://www.home-assistant.io/integrations/owntracks/)**. **Script** pour faire sonner le téléphone. Carte **GPS**.
    - **Badges** avec contours dynamiques pour surveiller la présence des personnes. (**Card Mod**)

Suivi des personnes.

🔝

### Alarme et détection 👮

- **Boutons Alarme et détection**
    - Activation/désactivation de l'alarme, icones dynamiques et affichage du dernier changement d'état.
- **Alarme**
    - L'alarme activée, si un malandrain venait à ouvrir la porte d'entrée, la détection de son ouverture déclenchera une serie d'automatisation son et lumières qui lui feront regretter d'être passé.
- **Détection de porte ouverte**
    - Savoir si la porte d'entrée vient de s'ouvrir.
- **Détection de fuit d'eau**
    - Être capable de réagir rapidement en cas de fuite.
- **Détection de présence**
    - Être alerté d'une présence en cas d'absence ou simplement automatiser l'allumage et l'extenction des lumières de l'entrée, de la cuisine et de la veilleuse du couloir pendant la nuit.
- **Détection de fumée**
    - Destiné à alerter les dormeurs si un incendie se déclenche la nuit.


 /mock/getDeviceStatisticsInfo': ({body}:any, res:any) => {
    // 添加跨域请求头
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader( "Content-Type","text/html;charset=utf-8");
    console.log(body);

    const data = mockjs.mock({
      'total|100-200':120,
      'running|100-150':123,
      'notRun|10-50':24,
      'problem|10-20':11,
      'fixing|1-10':3,
    });

    res.end(JSON.stringify(data));
  },

  //设备管理-设备列表信息
  'POST /mock/getDeviceList': ({body}:any, res:any) => {
    // 添加跨域请求头
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader( "Content-Type","text/html;charset=utf-8");
    console.log(body);

    const data = mockjs.mock({
      'list|10-20':[
        {
          'account':/[a-zA-Z0-9]{6}/,
          'IP':/[0-9]{6}/,
          'name':/[a-zA-Z0-9]{6}/,
          'location':/[a-zA-Z0-9]{6}/,
          'connectTime':mockjs.mock('@datetime'),
          'port':/[0-9]{6}/,
          'status|0-3':1,
          'serviceId|1-20':1,
          'exitOrIn|0-1':1,
        }
      ],
      'page':{
        'pageNum':1,
        'pageSize|5-10':7,
        'total':10,
        'pages':1
      },
    });

    res.end(JSON.stringify({data}));
  },

  //设备管理-设备详情轮播图
  'POST /mock/getDeviceSlideList': ({body}:any, res:any) => {
    // 添加跨域请求头
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader( "Content-Type","text/html;charset=utf-8");
    console.log(body);

    const data = mockjs.mock({
      'list':[
        {
          'backgroundUrl':/[a-zA-Z0-9]{6}/,
          'previewUrl':/[0-9]{6}/,
          'title1':'V-Touch',
          'title2':'计算机视觉垂直领域系统整合商',
          'title3':'广州市微智联科技有限公司',
          'title4':'020-31145104',
          'slideIndex':1,
          'slideId|1-100':1
        }
      ]
    });

    res.end(JSON.stringify(data));
  },

  //设备管理-修改语音提示
  'POST /mock/updateVoice': ({body}:any, res:any) => {
    // 添加跨域请求头
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader( "Content-Type","text/html;charset=utf-8");
    console.log(body);

    const data = mockjs.mock({

    });

    res.end(JSON.stringify({data}));
  },

  //设备管理-设置轮播图显示
  'POST /mock/terminal/slideshowSetShow': ({body}:any, res:any) => {
    // 添加跨域请求头
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader( "Content-Type","text/html;charset=utf-8");
    console.log(body);

    res.end(JSON.stringify({code:'200'}));
  },
}

import { HttpResponseMessage, HttpResponseMessageSeverity } from "serious-game-library/dist/utils/http/HttpResponse";

/**
 * Map contains categorized validation messages.
 *
 * categories:
 * - email
 * - gender
 * - forename
 * - lastname
 * - password
 * - token
 * - id
 * - therapist
 * - date
 * - info
 * - patient
 * - errortext
 * - recipeName
 * - mealtime
 */
const valida


ngle_with_line(line)
		local cursor_pos = vim.api.nvim_win_get_cursor(0)
		local x_base = cursor_pos[1]
		local x_limit = (cursor_pos[1] + self.counter * 2) + 2
		local x_center = (cursor_pos[1] + self.counter + 2) + 1
		local paragraph = utility.construct_words_line()
		for i = x_base, x_limit - 1 do
			paragraph = paragraph .. "\n" .. utility.construct_words_line()
		end
		utility.set_buffer_to_rectangle_with_line(paragraph)
		vim.api.nvim_win_set_cursor(0, { x_center, cursor_pos[2] })
		self.cursor_target = { x_center - self.counter, cursor_pos[2] }
		utility.construct_highlight(self.cursor_target[1], 0, #utility.get_line(self.cursor_target[1]))
	end
	vim.schedule_wrap(_inner_update)()
end

function MoveLinesUp:instructions()
	return "Move " .. self.counter .. " lines up."
end
return MoveLinesUp


f "aligned blocks" in "A" is:
 *

 *         nA = lA/align = n + m + k + p
 *

 *         that is the "order" o(AA), of the set:
 *

 *         AA = { i/align | i % align = 0, start <= i < end } =
 *         = { n, n+1, n+2, ..., n+m+k+p-1 }
 *

 *         These considerations establish the basic quantities I need
 *         to correcly decide how the input buffer have to be read or
 *         written to the device, device that is supposed to be able
 *         to handle only aligned blocks, i.e. offsets and length
 *         that are intger multiples of "align".
 *

 *         Now, we want to define what are the HEAD "H", the BODY "B" and the
 *         TAIL "T" of the "Aligned Buffer". Again they will defined as
 *         sets, "0" will be the "empty set" and we will use
 *         the notation nH=o(H), nB=o(B), nT=o(T) for the number of
 *         their elements.
 *

 *         Let me to get rid of the "EMPTY" trivial, where nothing have to
 *         be done (length=0): we define H=0, B=0, T=0. So nB=nA=0.
 *

 *         Although it can be handled as a "BODY" only buffer, we get
 *         rid of the "ALIGNED" trivial case too, (ofsR=0 and lstR=0),
 *         definining H=0, defining H=0, B=AA, T=0. So nB=nA=m.
 *

 *         Anyway the EMPTY and the ALIGNED cases have to be handled
 *         separately in the code for efficiency purpouses.
 *

 *         From now we can suppose (length>0) and (ofsR>0 or lstR>0).
 *

 *         Again we have to handle a special case, the case where
 *         the "Buffer" is completely (and properly) "CONTAINED"
 *         inside a "single aligned block". The case is identified
 *         by the condition "lst <= start + align" and for the assumptions
 *         we have done "0 < length < align". For this case it doesn't
 *         make any sense to define HEAD, BODY and TAIL but we define
 *         as an artifact, for the sake of generality, H=0, B=0, T=0.
 *         We have "nB = 0 and nA = 1", so "nB = nA - 1".
 *

 *         From now we can assume that "lst > start + align", i.e.
 *         the "Buffer" is "CROSSED", it "cross" the boundary of
 *         at least "one aligned block". We can now define:
 *

 *         H =  { i/align | i not in U, i % align = 0,
 *         start <= i < start + align }
 *

 *         B =  { i/align | i not in U, i % align = 0,
 *         start + align <= i < end - align }
 *

 *         T =  { i/align | i not in U, i % align = 0,
 *         end - align <= i < end }
 *

 *         It is easy to see that "AA" is the union of the mutually disjoint
 *         sets "H", "B" and "T". So "nA = nH + nB + nT" where:
 *

 *         0 <= nH <= 1     0 <= nT <= 1    0 <= nB <= nA
 *

 *         and that "nB = nA - nH - nT".
 *

 *         The "Aligned Buffer" will:
 *

 *         has an HEAD (nH=1) if and only if ofsR > 0
 *         has a  TAIL (nT=1) if and only if lstR > 0
 *

 *         and because we excluded the "ALIGNED"